Beiträge durchsuchen

Eigener Gitlab Server als lokaler Dienst über docker

Gitlab docker image starten

mkdir gitlab
cd gitlab
vim docker-compse.yml

web:
  image: 'gitlab/gitlab-ce:latest'
  restart: always
  hostname: 'git.master.home'
  environment:
    GITLAB_OMNIBUS_CONFIG: |
      external_url 'http://git.master.home:8200'
      gitlab_rails['gitlab_shell_ssh_port'] = 8222
  ports:
    - '8200:8200'
    - '8222:8222'
  volumes:
    - '/srv/gitlab/config:/etc/gitlab'
    - '/srv/gitlab/logs:/var/log/gitlab'
    - '/srv/gitlab/data:/var/opt/gitlab'

Das image starten mittels:

docker-compose up -d
Kontrollieren ob der initialisierungsprozess fertig ist
docker logs gitlab_web_1

Erstes anmelden mit http://10.0.0.6:8200
Damit der dienst auch simpel unter den Namen git  erreichbar ist füge ich folgende Zeile in der /etc/host auf meinen DNS Server hinzu.

10.0.0.6 git.master.home git

Die IP-Adresse ist natürlich die IP Adresse des Docker Hosts

 

Nginx als reverse Proxy

apt-get install nginx

cd /etc/nginx

vim sites-available/gitlab

hits

server {
    listen   80; # The default is 80 but this here if you want to change it.
    server_name git.master.home git;
    
    location / {
        proxy_pass              http://git.master.home:8200;
        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_connect_timeout   150;
        proxy_send_timeout      100;
        proxy_read_timeout      100;
        proxy_buffers           4 32k;
        client_max_body_size    500m; # Big number is we can post big commits.
        client_body_buffer_size 128k;
    }
}

ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/

nginx -t
systemctl restart nginx

Links

  1. https://docs.gitlab.com/omnibus/docker/
  2. https://docs.gitlab.com/ee/gitlab-basics/command-line-commands.html

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.