# vi: ft=yaml version: '3' networks: traefik: external: true hedgedoc: services: hedgedoc-db: image: postgres:13.4-alpine environment: - POSTGRES_USER=hedgedoc - POSTGRES_PASSWORD=password - POSTGRES_DB=hedgedoc volumes: - type: bind source: /mnt/data/hedgedoc/database target: /var/lib/postgresql/data networks: hedgedoc: aliases: - database deploy: placement: constraints: - "node.labels.hedgedoc == true" hedgedoc-app: image: quay.io/hedgedoc/hedgedoc:1.9.7 environment: - CMD_DB_URL=postgres://hedgedoc:password@database:5432/hedgedoc - CMD_DOMAIN=md.pim.kunis.nl - CMD_PORT=3000 - CMD_URL_ADDPORT=false - CMD_ALLOW_ANONYMOUS=true - CMD_ALLOW_EMAIL_REGISTER=false - CMD_PROTOCOL_USESSL=true - CMD_SESSION_SECRET={{ session_secret }} volumes: - type: bind source: /mnt/data/hedgedoc/uploads target: /hedgedoc/public/uploads depends_on: - hedgedoc-db networks: - traefik - hedgedoc deploy: placement: constraints: - "node.labels.hedgedoc == true" labels: - traefik.enable=true - traefik.http.routers.hedgedoc.entrypoints=websecure - traefik.http.routers.hedgedoc.rule=Host(`md.pim.kunis.nl`) - traefik.http.routers.hedgedoc.tls=true - traefik.http.routers.hedgedoc.tls.certresolver=letsencrypt - traefik.http.routers.hedgedoc.service=hedgedoc - traefik.http.services.hedgedoc.loadbalancer.server.port=3000 - traefik.docker.network=traefik