54 lines
1.7 KiB
YAML
54 lines
1.7 KiB
YAML
services:
|
|
gitlab:
|
|
image: gitlab/gitlab-ce:17.8.6-ce.0
|
|
container_name: gitlab
|
|
hostname: '${GITLAB_DOMAIN}'
|
|
environment:
|
|
GITLAB_OMNIBUS_CONFIG: |
|
|
# Add any other gitlab.rb configuration here, each on its own line
|
|
external_url 'https://${GITLAB_DOMAIN}'
|
|
gitlab_rails['gitlab_shell_ssh_port'] = 2424
|
|
# We need to tell GitLab to use SSH port 22 internally
|
|
gitlab_shell['auth_file'] = "/var/opt/gitlab/.ssh/authorized_keys"
|
|
#gitlab_shell['ssh_port'] = 22
|
|
nginx['listen_port'] = 80
|
|
nginx['listen_https'] = false
|
|
nginx['proxy_set_headers'] = {
|
|
"X-Forwarded-Proto" => "https",
|
|
"X-Forwarded-Ssl" => "on"
|
|
}
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.docker.network=traefik
|
|
# HTTP configuration
|
|
- traefik.http.routers.gitlab.entrypoints=web,websecure
|
|
- traefik.http.routers.gitlab.tls=true
|
|
- traefik.http.routers.gitlab.tls.certresolver=le
|
|
- traefik.http.routers.gitlab.rule=Host(`${GITLAB_DOMAIN}`)
|
|
- traefik.http.services.gitlab.loadbalancer.server.port=80
|
|
# TCP/SSH configuration - completely revised
|
|
- "traefik.tcp.routers.gitlab-ssh.rule=HostSNI(`*`)"
|
|
- "traefik.tcp.routers.gitlab-ssh.entrypoints=gitlab-ssh"
|
|
- "traefik.tcp.services.gitlab-ssh.loadbalancer.server.port=22"
|
|
volumes:
|
|
- 'gitlab-config:/etc/gitlab'
|
|
- 'gitlab-logs:/var/log/gitlab'
|
|
- 'gitlab-data:/var/opt/gitlab'
|
|
shm_size: '256m'
|
|
networks:
|
|
- traefik
|
|
restart: unless-stopped
|
|
|
|
|
|
volumes:
|
|
gitlab-config:
|
|
name: gitlab-config
|
|
gitlab-logs:
|
|
name: gitlab-logs
|
|
gitlab-data:
|
|
name: gitlab-data
|
|
|
|
networks:
|
|
traefik:
|
|
name: traefik
|
|
external: true
|