66 lines
2.8 KiB
YAML
66 lines
2.8 KiB
YAML
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 %>
|