version: "3.8" services: gitlab-redis: restart: always image: redis:6.2.6 container_name: gitlab-redis command: - --loglevel warning volumes: - ${DATA_PATH}/gitlab/redis:/data:Z gitlab-postgresql: restart: always image: sameersbn/postgresql:14-20230628 container_name: gitlab-postgresql volumes: - ${DATA_PATH}/gitlab/postgresql:/var/lib/postgresql:Z environment: - DB_USER=${GL_DB_USER} - DB_PASS=${GL_DB_PASS} - DB_NAME=gitlabhq_production - DB_EXTENSION=pg_trgm,btree_gist gitlab: # https://github.com/sameersbn/docker-gitlab restart: always image: sameersbn/gitlab:16.10.2 container_name: gitlab depends_on: - gitlab-redis - gitlab-postgresql ports: - "${GL_HTTP_PORT}:80" - "${GL_SSH_PORT}:22" volumes: - ${DATA_PATH}/gitlab/data:/home/git/data:Z healthcheck: test: ["CMD", "/usr/local/sbin/healthcheck"] interval: 5m timeout: 10s retries: 3 start_period: 5m environment: - DEBUG=true - DB_ADAPTER=postgresql - DB_HOST=gitlab-postgresql - DB_PORT=5432 - DB_USER=${GL_DB_USER} - DB_PASS=${GL_DB_PASS} - DB_NAME=gitlabhq_production - REDIS_HOST=gitlab-redis - REDIS_PORT=6379 - TZ=${TZ} - GITLAB_TIMEZONE=${GL_TZ} - GITLAB_HTTPS=true - SSL_SELF_SIGNED=false - GITLAB_HOST=${GL_HOST} - GITLAB_PORT=443 - GITLAB_SSH_PORT=10022 - GITLAB_SECRETS_DB_KEY_BASE=${GL_DB_KEY} - GITLAB_SECRETS_SECRET_KEY_BASE=${GL_SECRETS_KEY} - GITLAB_SECRETS_OTP_KEY_BASE=${GL_OTP_KEY} - GITLAB_ROOT_PASSWORD=${GL_ROOT_PASS} - GITLAB_ROOT_EMAIL=${GL_ROOT_EMAIL} - GITLAB_NOTIFY_ON_BROKEN_BUILDS=true - GITLAB_NOTIFY_PUSHER=false - GITLAB_EMAIL=${SMTP_FROM} - GITLAB_EMAIL_DISPLAY_NAME=${GL_EMAIL_NAME} - GITLAB_EMAIL_REPLY_TO=${SMTP_FROM} - GITLAB_INCOMING_EMAIL_ENABLED=false - GITLAB_BACKUP_SCHEDULE=daily - SMTP_ENABLED=true - SMTP_DOMAIN=${SMTP_SERVER} - SMTP_HOST=${SMTP_SERVER} - SMTP_PORT=${SMTP_PORT} - SMTP_USER=${SMTP_USER} - SMTP_PASS=${SMTP_PASS} - SMTP_STARTTLS=true - OAUTH_ENABLED=false - OAUTH_EXTERNAL_PROVIDERS=github,gitlab - OAUTH_GITHUB_API_KEY=${GL_GITHUB_API_KEY} - OAUTH_GITHUB_APP_SECRET=${GL_GITHUB_API_SECRET} - OAUTH_GITLAB_API_KEY=${GL_GITLAB_API_KEY} - OAUTH_GITLAB_APP_SECRET=${GL_GITLAB_API_SECRET}