Skip to content

Instantly share code, notes, and snippets.

@ajschlosser
Last active March 10, 2020 23:45
Show Gist options
  • Save ajschlosser/1814430279050cb90d1e6513c1549969 to your computer and use it in GitHub Desktop.
Save ajschlosser/1814430279050cb90d1e6513c1549969 to your computer and use it in GitHub Desktop.
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/bionic64"
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.network "forwarded_port", guest: 443, host: 443
config.vm.network "forwarded_port", guest: 2222, host: 2222
config.vm.network "forwarded_port", guest: 4567, host: 4567
config.vm.synced_folder "./conf", "/etc/gitlab"
config.vm.synced_folder "./docker", "/home/vagrant/docker"
config.vm.provider :virtualbox do |vb|
vb.memory = 131072
vb.cpus = 24
vb.gui = false
end
config.vm.provision "shell", inline: <<-SHELL
sudo apt update
sudo apt install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt update
sudo apt-get install -y \
docker-ce \
docker-ce-cli \
containerd.io
echo "external_url 'https://gitlab.<domain>.com'
registry_external_url 'https://gitlab.<domain>.com:4567'
gitlab_rails['registry_enabled'] = true
gitlab_rails['registry_host'] = 'gitlab.<domain>.com'
gitlab_rails['registry_port'] = '5005'
gitlab_rails['registry_path'] = '/var/opt/gitlab/gitlab-rails/shared/registry'
registry_nginx['ssl_certificate'] = '/etc/gitlab/ssl/<domain>.crt'
registry_nginx['ssl_certificate_key'] = '/etc/gitlab/ssl/<domain>.key'
letsencrypt['enable'] = false
nginx['ssl_certificate'] = '/etc/gitlab/ssl/<domain>.crt'
nginx['ssl_certificate_key'] = '/etc/gitlab/ssl/<domain>.key' " > conf/gitlab.rb
sudo docker run --detach \
--hostname gitlab.<domain>.com \
--publish 443:443 --publish 80:80 --publish 2224:22 --publish 4567:4567 \
--name gitlab \
--restart always \
--volume ${PWD}/conf:/etc/gitlab \
--volume ${PWD}/logs:/var/log/gitlab \
--volume ${PWD}/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
sudo docker run --detach \
--name gitlab-runner-0 \
--restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
gitlab/gitlab-runner:alpine
sudo docker run --detach \
--name gitlab-runner-1 \
--restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
gitlab/gitlab-runner:alpine
sudo docker run --detach \
--name gitlab-runner-2 \
--restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
gitlab/gitlab-runner:alpine
SHELL
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment