Files
Personal-Rancher-Catalog/templates/GitLab/0/docker-compose.yml

39 lines
1.7 KiB
YAML

version: '2'
services:
gitlab:
image: gitlab/gitlab-ce:latest
dns:
- 1.1.1.1
- 1.0.0.1
- 2606:4700:4700::1111
- 2606:4700:4700::1001
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://${TRAEFIK_HOST}'
gitlab_rails['gitlab_shell_ssh_port'] = 22
nginx['real_ip_trusted_addresses'] = [ '10.42.0.0/16' ] # 10.42.0.0/16 is the default Rancher-managed subnet
nginx['listen_port'] = 80 # Using HTTP between the Traefik container and GitLab
nginx['listen_https'] = false # Traefik is handling HTTPS termination
hostname: ${TRAEFIK_HOST}
labels:
io.rancher.container.pull_image: always
{{- if .Values.HOST_LABEL}}
io.rancher.scheduler.affinity:host_label: ${HOST_LABEL}
{{- end}}
traefik.enable: true
traefik.http.routers.gitlab-router.rule: Host(`${TRAEFIK_HOST}`)
traefik.http.routers.gitlab-router.entrypoints: https
traefik.http.routers.gitlab-router.service: gitlab-service
traefik.http.routers.gitlab-router.tls: true
traefik.http.routers.gitlab-router.tls.certresolver: letsencrypt
traefik.http.services.gitlab-service.loadbalancer.server.port: "80"
traefik.http.services.gitlab-service.loadbalancer.server.scheme: http
traefik.http.services.gitlab-service.loadbalancer.passhostheader: true
restart: on-failure
volumes:
- /etc/localtime:/etc/localtime:ro # Syncronize time of container with the host system
- /etc/timezone:/etc/timezone:ro # Syncronize timezone of container with the host system
- /Persistent/${DATA_DIR}/Config:/etc/gitlab
- /Persistent/${DATA_DIR}/Logs:/var/log/gitlab
- /Persistent/${DATA_DIR}/Data:/var/opt/gitlab