services: << service_name >>: image: docker.io/gitlab/gitlab-ce:18.11.2-ce.0 restart: << restart_policy >> shm_size: '256m' <%- if traefik_enabled %> networks: << traefik_network >>: <%- endif %> ports: <%- if not traefik_enabled %> - "<< ports_http >>:80" <%- endif %> - "<< ports_ssh >>:22" <%- if registry_enabled and not traefik_enabled %> - "<< ports_registry >>:5000" <%- endif %> volumes: - ./config/gitlab.rb:/etc/gitlab/gitlab.rb:ro - << service_name >>_config:/etc/gitlab - << service_name >>_logs:/var/log/gitlab - << service_name >>_data:/var/opt/gitlab <%- if traefik_enabled %> labels: - traefik.enable=true - traefik.docker.network=<< traefik_network >> - traefik.http.services.<< service_name >>_web.loadBalancer.server.port=80 - traefik.http.routers.<< service_name >>_http.service=<< service_name >>_web - traefik.http.routers.<< service_name >>_http.rule=Host(`<< traefik_host >>.<< traefik_domain >>`) - traefik.http.routers.<< service_name >>_http.entrypoints=<< traefik_entrypoint >> <%- if traefik_tls_enabled %> - traefik.http.routers.<< service_name >>_https.service=<< service_name >>_web - traefik.http.routers.<< service_name >>_https.rule=Host(`<< traefik_host >>.<< traefik_domain >>`) - traefik.http.routers.<< service_name >>_https.entrypoints=<< traefik_tls_entrypoint >> - traefik.http.routers.<< service_name >>_https.tls=true - traefik.http.routers.<< service_name >>_https.tls.certresolver=<< traefik_tls_certresolver >> <%- endif %> <%- if registry_enabled %> - traefik.http.services.<< service_name >>_registry.loadBalancer.server.port=5000 - traefik.http.routers.<< service_name >>_registry-http.service=<< service_name >>_registry - traefik.http.routers.<< service_name >>_registry-http.rule=Host(`<< traefik_registry_host >>`) - traefik.http.routers.<< service_name >>_registry-http.entrypoints=<< traefik_entrypoint >> <%- if traefik_tls_enabled %> - traefik.http.routers.<< service_name >>_registry-https.service=<< service_name >>_registry - traefik.http.routers.<< service_name >>_registry-https.rule=Host(`<< traefik_registry_host >>`) - traefik.http.routers.<< service_name >>_registry-https.entrypoints=<< traefik_tls_entrypoint >> - traefik.http.routers.<< service_name >>_registry-https.tls=true - traefik.http.routers.<< service_name >>_registry-https.tls.certresolver=<< traefik_tls_certresolver >> <%- endif %> <%- endif %> <%- endif %> volumes: << service_name >>_config: driver: local << service_name >>_logs: driver: local << service_name >>_data: driver: local <%- if traefik_enabled %> networks: << traefik_network >>: external: true <%- endif %>