#
Konténer alapú telepítés
Először hozzunk létre egy docker-compose fájlt a következőképpen
version: '3.6'
services:
web:
image: 'gitlab/gitlab-ee:latest'
restart: always
hostname: 'git.skriba.hu'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://git.skriba.hu'
gitlab_rails['time_zone'] = "UTC"
gitlab_rails['gitlab_shell_ssh_port']=62100
gitlab_rails['gitlab_ssh_host'] = "git.skriba.hu"
nginx['listen_port'] = 8081
nginx['listen_https'] = false
ports:
- '8081:8081'
- '444:443'
- '62100:22'
volumes:
- '$GITLAB_HOME/config:/etc/gitlab'
- '$GITLAB_HOME/logs:/var/log/gitlab'
- '$GITLAB_HOME/data:/var/opt/gitlab'
shm_size: '256m'
A fent látható példában a GITLAB_OMNIBUS_CONFIG értékek magyarázata:
- external_url - az a cím ahonnan a gitlabot el akarjuk érni. Ez az érték másolódik be a clone url-be, illetve a GitLab-nak el kell érnie saját magát ezen a címen. Mivel általában a szolgáltatást a webszerveren beállított reverse proxy-n keresztül érjük el (lásd később), ezért adjuk hozzá a
127.0.0.1 git.skriba.hubejegyzést az /etc/hosts fájl-hoz, hogy a GitLab localhost-on elérje saját magát. - gitlab_rails['gitlab_shell_ssh_port'] - ezen a porton keresztül lehet SSH-n klónozni a projektet. Mivel általában a szerveren már fut egy OpenSSH a 22-es porton, ezért célszerű ettől eltértő portot megadni. Itt azért fontos ezt külön beállítani, mert ez alapján állítódik be a clone url a projektekhez.
- nginx['listen_port'] - a GitLab belső nginx webszerveréhez beállított port
A compose fájl-ban a fenti értékekkel összhangban állítsuk be a következő portokat:
- Webszerver port - ezen a porton érhető el a GitLab webes felülete. Mivel a szerveren általában már foglalt a 80-as port, ezért céleszerű attól eltérő értéket beállítani. Fontos, a belső port egyezzen meg a külsővel.
- HTTPS port - https port
- SSH port - ssh port
Végül a volumes-nál állítsuk be, hogy a konténeren kívül is elérjük a beállításokat és logokat
Ezek után a szokásos módon indítsuk el a konténert