Install GitLab

Container

Create the docker volumes & network

docker network create gitlab-net
docker volume create gitlab-config
docker volume create gitlab-logs
docker volume create gitlab-data

Install the container

docker run -d \
--hostname gitlab.domain.tld \
--name gitlab \
--network=gitlab-net \
-p 8000:80 -p 2222:22 \
-v gitlab-config:/etc/gitlab \
-v gitlab-logs:/var/log/gitlab \
-v gitlab-data:/var/opt/gitlab \
gitlab/gitlab-ce:latest

Create nginx configuration

# /etc/nginx/conf.d/gitlab.domain.tld.conf

server {
  listen 80;
  server_name gitlab.domain.tld;

  location / {
    proxy_pass http://x.x.x.x:8000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
  }
}

Login

Browse http://gitlab.domain.tld

Default credentials:

User: root
Password: `docker exec -it gitlab /bin/sh -c 'cat /etc/gitlab/initial_root_password | grep Password:'`

Change default password

  • https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password