====== Setting up Gitlab with Docker on Ubuntu Server ======
===== Install Ubuntu Server =====
Choose from the official [[https://www.ubuntu.com/download/server|ubuntu website]].
Here : 16.04.1 Long Term Support (LTS)
===== Install Docker =====
Follow the guidelines from the [[https://docs.docker.com/engine/installation/linux/ubuntulinux/|official website]]
===== Install GitLab =====
Use the pull command as described on the [[https://hub.docker.com/r/gitlab/gitlab-ce/|docker website]]
Remark : **sudo** should be used here as **sudo** [[https://hub.docker.com/r/gitlab/gitlab-ce/|https://hub.docker.com/r/gitlab/gitlab-ce/]]
Then, run gitlab from docker :
(use **-i** to display startup logs or **–detach** for a silent startup)
sudo docker run -i \
--hostname local.ngen.gitlab.be \
--env GITLAB_OMNIBUS_CONFIG="external_url 'http://local.ngen.gitlab.be'; gitlab_rails['lfs_enabled'] = true;" \
--publish 10443:443 --publish 10080:80 --publish 10022:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
Personal experience :
When starting up using -i, I noticed this output :
seb@ubuntu:~$ sudo docker run -i \
...
If this container fails to start due to permission problems try to fix it by executing:
docker exec -it gitlab update-permissions
docker restart gitlab
Preparing services...
Starting services...
Configuring GitLab package...
/opt/gitlab/embedded/bin/runsvdir-start: line 24: ulimit: pending signals: cannot modify limit: Operation not permitted
/opt/gitlab/embedded/bin/runsvdir-start: line 37: /proc/sys/fs/file-max: Read-only file system
Configuring GitLab...
gitlab Reconfigured!
Therefore I ran those commands :
docker exec -it gitlab update-permissions
docker restart gitlab
How to inspect which container is running ?
sudo docker ps
OUTPUT HERE…
How to inspect existing containers :
docker ps -a
OUTPUT HERE…
If you need to remove a container
docker rm drunk_fermi
or forcefully using,
docker rm -f drunk_fermi
===== Configure GitLab =====
Access the GitLab shell
sudo docker exec -it gitlab /bin/bash
Access directly the main config file
sudo docker exec -it gitlab /bin/bash