81 lines
2.7 KiB
YAML
81 lines
2.7 KiB
YAML
---
|
|
version: '3'
|
|
services:
|
|
database:
|
|
image: postgres:13-alpine
|
|
environment:
|
|
- POSTGRES_USER={{ hedgedoc.db.user }}
|
|
- POSTGRES_PASSWORD={{ hedgedoc.db.password }}
|
|
- POSTGRES_DB={{ hedgedoc.db.name }}
|
|
volumes:
|
|
- database:/var/lib/postgresql/data
|
|
restart: always
|
|
networks:
|
|
- backend
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
app:
|
|
# Make sure to use the latest release from https://hedgedoc.org/latest-release
|
|
image: quay.io/hedgedoc/hedgedoc:1.9.3
|
|
environment:
|
|
- CMD_DB_URL=postgres://{{ hedgedoc.db.user }}:{{ hedgedoc.db.password }}@database:5432/{{ hedgedoc.db.name }}
|
|
- CMD_DOMAIN=doc.tobiasmanske.de
|
|
- CMD_ALLOW_ORIGIN=doc.tobiasmanske.de,localhost
|
|
- CMD_CSP_ENABLE=true
|
|
- CMD_PROTOCOL_USESSL=true
|
|
- CMD_PROTOCOL_USE_SSL=true
|
|
- CMD_ALLOW_EMAIL_REGISTER=false
|
|
- CMD_ALLOW_ANONYMOUS=false
|
|
- CMD_ALLOW_ANONYMOUS_EDITS=true
|
|
- CMD_ALLOW_FREEURL=true
|
|
- CMD_DEFAULT_PERMISSION=private
|
|
- CMD_SESSION_SECRET={{ hedgedoc.cmd.session_secret }}
|
|
- CMD_OAUTH2_CLIENT_ID={{ hedgedoc.cmd.client_id }}
|
|
- CMD_OAUTH2_CLIENT_SECRET={{ hedgedoc.cmd.client_secret }}
|
|
- CMD_OAUTH2_AUTHORIZATION_URL={{ hedgedoc.cmd.authorization_url }}
|
|
- CMD_OAUTH2_SCOPE=openid email profile
|
|
- CMD_OAUTH2_TOKEN_URL={{ hedgedoc.cmd.token_url }}
|
|
- CMD_OAUTH2_USER_PROFILE_URL={{ hedgedoc.cmd.user_profile_url }}
|
|
- CMD_OAUTH2_USER_PROFILE_USERNAME_ATTR=preferred_username
|
|
- CMD_OAUTH2_USER_PROFILE_DISPLAY_NAME_ATTR=name
|
|
- CMD_OAUTH2_USER_PROFILE_EMAIL_ATTR=email
|
|
- CMD_OAUTH2_PROVIDERNAME=Keycloak
|
|
- CMD_IMAGE_UPLOAD_TYPE=minio
|
|
- CMD_MINIO_ACCESS_KEY={{ hedgedoc.cmd.s3.access_key }}
|
|
- CMD_MINIO_SECRET_KEY={{ hedgedoc.cmd.s3.secret_key }}
|
|
- CMD_MINIO_ENDPOINT={{ hedgedoc.cmd.s3.endpoint }}
|
|
- CMD_MINIO_PORT={{ hedgedoc.cmd.s3.port }}
|
|
- CMD_MINIO_SECURE={{ hedgedoc.cmd.s3.secure }}
|
|
- CMD_S3_BUCKET=hedgedoc
|
|
- CMD_S3_FOLDER=uploads
|
|
restart: always
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.hedgedoc.rule=Host(`doc.tobiasmanske.de`)"
|
|
- "traefik.http.routers.hedgedoc.middlewares=deny-metrics@file"
|
|
- "traefik.http.routers.hedgedoc.entryPoints=websecure"
|
|
- "traefik.http.services.hedgedoc.loadbalancer.server.port=3000"
|
|
- "prometheus-scrape.enabled=true"
|
|
- "prometheus-scrape.port=3000"
|
|
depends_on:
|
|
database:
|
|
condition: service_healthy
|
|
networks:
|
|
- backend
|
|
- metrics
|
|
- default # oauth
|
|
|
|
volumes:
|
|
database:
|
|
|
|
networks:
|
|
backend:
|
|
internal: true
|
|
metrics:
|
|
external: true
|
|
...
|