The code of the project is available at chowkarmeng/vagrant_gitlab (github.com), the docker compose is based on the sample provided in GitLab Docker images | GitLab
The improvement done was to change the folder sync for virtual box into docker volumes.
First, git clone the repository https://github.com/chowkarmeng/vagrant_gitlab.git
The process will take hours depending on the speed of your computer and speed of your internet connection.
The VBox Guest Additions are needed in order to orchestrate configurations of the VM. Should the VBox Guest Additions failed to be installed, the entire Vagrant up will fail.
Once the bootstrap is done, Vagrant will be executing the config.vm.provision in the VagrantFile. The provision are the scripts that will be run upon boot up of the VM in sequence.
Next, login to the shell of the VM, type “vagrant ssh”.
Then, follow up by using basic command of dockers to check the status of the docker compose containers.
Since, we are orchestrating Virtual Box to install docker engine which will be used to install GitLab in docker container.
Run the command “sudo docker exec -it data-web-1 grep ‘Password:’ /etc/gitlab/initial_root_password” in the vm shell.
If you have read the README.md in the repository, and had the host file of windows configured properly, open browser on your host machine, type gitlab.example.com in the address, and login as root, a successful attempt means GitLab is now running on your VM which is reachable from your machine without installing any web service in your computer.