39 lines
1.7 KiB
YAML
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 |