# 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