version: "3.6" services: gitlab: image: gitlab/gitlab-ce:latest environment: GITLAB_OMNIBUS_CONFIG: | external_url 'https://lsms-gitlab.epfl.ch' gitlab_rails['gitlab_shell_ssh_port'] = 4022 letsencrypt['enable'] = false nginx['listen_https'] = false nginx['listen_port'] = 80 gitlab_rails['lfs_enabled'] = true nginx['proxy_set_headers'] = { "X-Forwarded-Proto" => "https", "X-Forwarded-Ssl" => "on" } registry_external_url 'https://lsms-gitlab.epfl.ch:5050' gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_tls'] = false gitlab_rails['smtp_address'] = "mail.epfl.ch" gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = "lsms-cloud" gitlab_rails['smtp_domain'] = "epfl.ch" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_pool'] = false gitlab_rails['smtp_openssl_verify_mode'] = 'none' gitlab_rails['smtp_password'] = '${MAIL_PASSWORD}' volumes: - data:/var/opt/gitlab - logs:/var/log/gitlab - config:/etc/gitlab - /home/anciaux/traefik-certificates:/etc/gitlab/ssl deploy: labels: - traefik.http.routers.gitlab.rule=Host(`lsms-gitlab.epfl.ch`) - traefik.http.services.gitlab.loadbalancer.server.port=80 - traefik.docker.network=traefik-public - traefik.enable=true - traefik.http.routers.gitlab.tls=true - traefik.tcp.routers.ssh.rule=HostSNI(`*`) - traefik.tcp.routers.ssh.entrypoints=sshgitlab - traefik.tcp.routers.ssh.service=ssh - traefik.tcp.services.ssh.loadbalancer.server.port=22 - traefik.tcp.routers.container.rule=HostSNI(`*`) - traefik.tcp.routers.container.entrypoints=containergitlab - traefik.tcp.routers.container.service=container - traefik.tcp.services.container.loadbalancer.server.port=5050 networks: - traefik-public volumes: config: logs: data: networks: traefik-public: external: true