version: '3.5' services: gitlab: image: clandmeter/alpine-docker-gitlab container_name: gitlab-alpine hostname: gitlab.alpinelinux.org restart: always volumes: - /srv/docker/compose/gitlab/repositories:/home/git/repositories - /srv/docker/compose/gitlab/config:/etc/gitlab - /srv/docker/compose/gitlab/log:/var/log - /srv/docker/compose/gitlab/builds:/home/git/gitlab/builds - /srv/docker/compose/gitlab/shared:/home/git/gitlab/shared - /srv/docker/compose/gitlab/uploads:/home/git/gitlab/public/uploads secrets: - pg_user - pg_admin - root_pass ports: - "2222:22" depends_on: - postgres - redis environment: # https://gitlab.com/gitlab-org/omnibus-gitlab/merge_requests/1707 - RUBYOPT=--disable-gems external_links: - traefik:minio.alpinelinux.org networks: - web - default labels: - "traefik.frontend.rule=Host:gitlab.alpinelinux.org" - "traefik.port=80" - "traefik.enable=true" postgres: image: postgres:alpine container_name: gitlab-postgres restart: always volumes: - /srv/docker/compose/gitlab/postgres:/var/lib/postgresql/data secrets: - pg_admin environment: - POSTGRES_PASSWORD_FILE=/run/secrets/pg_admin redis: image: redis:alpine container_name: gitlab-redis restart: always volumes: - /srv/docker/compose/gitlab/redis:/data entrypoint: redis-server --appendonly yes secrets: pg_admin: file: /srv/docker/compose/gitlab/secrets/pg_admin.txt pg_user: file: /srv/docker/compose/gitlab/secrets/pg_user.txt root_pass: file: /srv/docker/compose/gitlab/secrets/root_pass.txt networks: web: external: name: web