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'] = 1022 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 on outside 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 ### Start Web Segment traefik.web.frontend.entryPoints: http,https traefik.web.frontend.headers.forceSTSHeader: true traefik.web.frontend.headers.referrerPolicy: no-referrer # Security enhancement (Prevents leaking of referer information) traefik.web.frontend.headers.SSLRedirect: true traefik.web.frontend.headers.STSPreload: true traefik.web.frontend.headers.STSSeconds: 15552000 traefik.web.frontend.passHostHeader: true traefik.web.frontend.rule: HostRegexp:${TRAEFIK_HOST},{subdomain:.+}.${TRAEFIK_HOST} traefik.web.port: "80" ### End Web Segment ### Start SSH Segment # traefik.ssh.frontend.entryPoints: ssh # traefik.ssh.frontend.rule: Host:${TRAEFIK_HOST} # traefik.ssh.frontend.passHostHeader: true # traefik.ssh.port: "22" ### End SSH Segment 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