106 lines
2.7 KiB
Text
106 lines
2.7 KiB
Text
|
# vi: ft=yaml
|
||
|
version: '3'
|
||
|
|
||
|
networks:
|
||
|
traefik:
|
||
|
external: true
|
||
|
discourse:
|
||
|
|
||
|
services:
|
||
|
discourse-app:
|
||
|
image: tiredofit/discourse:latest
|
||
|
deploy:
|
||
|
placement:
|
||
|
constraints:
|
||
|
- "node.labels.discourse == true"
|
||
|
labels:
|
||
|
- traefik.enable=true
|
||
|
- traefik.http.routers.discourse.entrypoints=localsecure
|
||
|
- traefik.http.routers.discourse.rule=Host(`tuindersweijde.geokunis2.nl`)
|
||
|
- traefik.http.services.discourse.loadbalancer.server.port=3000
|
||
|
- traefik.http.routers.discourse.tls=true
|
||
|
- traefik.http.routers.discourse.tls.certresolver=letsencrypt
|
||
|
volumes:
|
||
|
- type: bind
|
||
|
source: /mnt/data/discourse/logs
|
||
|
target: /data/logs
|
||
|
- type: bind
|
||
|
source: /mnt/data/discourse/uploads
|
||
|
target: /data/uploads
|
||
|
- type: bind
|
||
|
source: /mnt/data/discourse/backups
|
||
|
target: /data/backups
|
||
|
environment:
|
||
|
- TIMEZONE=Europe/Amsterdam
|
||
|
- CONTAINER_NAME=discourse-app
|
||
|
|
||
|
- DB_HOST=discourse-db
|
||
|
- DB_NAME=discourse
|
||
|
- DB_USER=discourse
|
||
|
- DB_PASS={{ database_password }}
|
||
|
|
||
|
- REDIS_HOST=discourse-redis
|
||
|
- SITE_HOSTNAME=discourse.pim.kunis.nl
|
||
|
|
||
|
- SMTP_PORT=25
|
||
|
- SMTP_HOST=smtp.tweak.nl
|
||
|
|
||
|
- DEVELOPER_EMAILS=niels@kunis.nl
|
||
|
networks:
|
||
|
- traefik
|
||
|
- discourse
|
||
|
|
||
|
discourse-db:
|
||
|
image: tiredofit/postgres:15-latest
|
||
|
deploy:
|
||
|
placement:
|
||
|
constraints:
|
||
|
- "node.labels.discourse == true"
|
||
|
volumes:
|
||
|
- type: bind
|
||
|
source: /mnt/data/discourse/database
|
||
|
target: /var/lib/postgresql/data
|
||
|
environment:
|
||
|
- TIMEZONE=Europe/Amsterdam
|
||
|
- CONTAINER_NAME=discourse-db
|
||
|
|
||
|
- POSTGRES_DB=discourse
|
||
|
- POSTGRES_USER=discourse
|
||
|
- POSTGRES_PASSWORD={{ database_password }}
|
||
|
- SUPERUSER_PASS={{ database_password }}
|
||
|
networks:
|
||
|
- discourse
|
||
|
|
||
|
discourse-redis:
|
||
|
image: tiredofit/redis:7
|
||
|
deploy:
|
||
|
placement:
|
||
|
constraints:
|
||
|
- "node.labels.discourse == true"
|
||
|
volumes:
|
||
|
- type: bind
|
||
|
source: /mnt/data/discourse/redis
|
||
|
target: /var/lib/redis
|
||
|
environment:
|
||
|
- TIMEZONE=Europe/Amsterdam
|
||
|
- CONTAINER_NAME=discourse-redis
|
||
|
networks:
|
||
|
- discourse
|
||
|
|
||
|
# discourse-db-backup:
|
||
|
# image: tiredofit/db-backup
|
||
|
# volumes:
|
||
|
# - ./dbbackup:/backup
|
||
|
# environment:
|
||
|
# - TIMEZONE=America/Vancouver
|
||
|
# - CONTAINER_NAME=discourse-db-backup
|
||
|
# - DB_HOST=discourse-db
|
||
|
# - DB_TYPE=postgres
|
||
|
# - DB_NAME=discourse
|
||
|
# - DB_USER=discourse
|
||
|
# - DB_PASS=password
|
||
|
# - DB_DUMP_FREQ=1440
|
||
|
# - DB_DUMP_BEGIN=0000
|
||
|
# - DB_CLEANUP_TIME=8640
|
||
|
# networks:
|
||
|
# - discourse
|