infrastructure/docker/web/docker-compose.yaml

94 lines
2.5 KiB
YAML

version: "3"
services:
# Webserver for static files and reverse proxy
web:
image: pbrinkmeier/web
build: .
ports:
- 80:80
- 443:443
volumes:
- caddy_data:/data
- caddy_config:/config
- /home/paul/pbrinkmeier.de:/srv/pbrinkmeier.de:ro
restart: always
codi:
image: hackmdio/hackmd:2.4.1
# CMD_DB_{URL,CMD_SESSION_SECRET}
env_file: codi.env
environment:
- CMD_USECDN=false
- CMD_DOMAIN=codi.pbrinkmeier.de
- CMD_PROTOCOL_USESSL=true
- CMD_EMAIL=true
- CMD_ALLOW_EMAIL_REGISTER=false
- CMD_ALLOW_ANONYMOUS_EDITS=true
depends_on:
- codi_db
volumes:
- codi_uploads:/home/hackmd/app/public/uploads
restart: always
codi_db:
image: postgres:11.6-alpine
# POSTGRES_{USER,PASSWORD,DB}
# Must match CMD_DB_URL in codi.env
env_file: codi_db.env
volumes:
- codi_database:/var/lib/postgresql/data
restart: always
gitlab:
image: gitlab/gitlab-ce
ports:
- "2222:22"
volumes:
- gitlab_data:/var/opt/gitlab
- gitlab_logs:/var/log/gitlab
- gitlab_config:/etc/gitlab
restart: always
# GITLAB_SMTP_PASSWORD
env_file: gitlab.env
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://git.pbrinkmeier.de'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.mailbox.org"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "hallo@pbrinkmeier.de"
gitlab_rails['smtp_password'] = ENV['GITLAB_SMTP_PASSWORD']
gitlab_rails['smtp_domain'] = "smtp.mailbox.org"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['smtp_openssl_verify_mode'] = 'none'
gitlab_rails['gitlab_email_from'] = 'git@pbrinkmeier.de'
gitlab_rails['gitlab_email_reply_to'] = 'noreply@pbrinkmeier.de'
gitlab_rails['gitlab_shell_ssh_port'] = 2222
# https://docs.gitlab.com/omnibus/settings/rpi.html
puma['worker_processes'] = 2
sidekiq['concurrency'] = 9
prometheus_monitoring['enable'] = false
nginx['listen_port'] = 80
nginx['listen_https'] = false
volumes:
caddy_data:
caddy_config:
codi_uploads:
external: yes
codi_database:
external: yes
gitlab_data:
external: yes
gitlab_logs:
external: yes
gitlab_config:
external: yes