- Avoir installé docker et docker compose sur un serveur
- Avoir un certificat let's encrypt
- Avoir un conteneur Traefik
version: '3.8'
services:
gitlab:
image: gitlab/gitlab-ce:latest
deploy:
resources:
limits:
cpus: 0.50
memory: 512M
reservations:
cpus: 0.25
memory: 128M
container_name: gitlab
restart: always
hostname: gitlab.********.** # mettre le NDD
environment:
GITLAB_OMNIBUS_CONFIG: |
gitlab_rails['gitlab_shell_ssh_port'] = 8822
volumes:
- ./config:/etc/gitlab
- ./data:/var/opt/gitlab
- ./logs:/var/log/gitlab
ports:
- "8822:22"
networks:
- traefik-network
labels:
- traefik.enable=true
- traefik.docker.network=traefik-network
- traefik.http.routers.gitlab.entrypoints=http
- traefik.http.routers.gitlab.rule=Host(`gitlab.*****.**`)" # mettre le NDD ici
- traefik.http.middlewares.gitlab-https-redirect.redirectscheme.scheme=https
- traefik.http.routers.gitlab.middlewares=gitlab-https-redirect
- traefik.http.routers.gitlab-secure.entrypoints=https
- traefik.http.routers.gitlab-secure.rule=Host(`gitlab.*****.**`)" # mettre le NDD ici
- traefik.http.routers.gitlab-secure.tls=true
- traefik.http.services.gitlab.loadbalancer.server.port=80
gitlab-runner:
image: gitlab/gitlab-runner:alpine
deploy:
resources:
limits:
cpus: 0.50
memory: 512M
reservations:
cpus: 0.25
memory: 128M
container_name: gitlab-runner
restart: always
depends_on:
- gitlab
volumes:
- ./config-runner:/etc/gitlab-runner
- ./run:/var/run/docker.sock
networks:
- traefik-network
labels:
- "traefik.enable=false"
volumes:
config:
data:
logs:
config-runner:
run:
networks:
traefik-network:
external: true