version: "3.8" services: app: image: mattermost/mattermost-team-edition:10.11.19 environment: - TZ - MM_SQLSETTINGS_DRIVERNAME=postgres - MM_SERVICESETTINGS_SITEURL=https://${DOMAIN} volumes: - mattermost_config:/mattermost/config:rw - mattermost_data:/mattermost/data:rw - mattermost_logs:/mattermost/logs:rw - mattermost_plugins:/mattermost/plugins:rw - mattermost_client_plugins:/mattermost/client/plugins:rw - mattermost_certs:/etc/ssl/certs:ro networks: - proxy - internal deploy: labels: - "traefik.enable=true" - "traefik.docker.network=proxy" - "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=8065" - "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})" - "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}" - "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure" - "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect" - "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLForceHost=true" - "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}" - "coop-cloud.${STACK_NAME}.version=2.1.11+10.11.19" - "backupbot.backup=true" - "backupbot.backup.path=/mattermost,/etc/ssl" configs: - source: abra_mattermost_entrypoint target: /abra-mattermost-entrypoint.sh mode: 0555 - source: busybox target: /bin/busybox mode: 0555 secrets: - postgres_password entrypoint: /abra-mattermost-entrypoint.sh postgres: image: postgres:15-alpine volumes: - postgres_data:/var/lib/postgresql/data environment: - TZ - POSTGRES_USER=mattermost - POSTGRES_PASSWORD_FILE=/run/secrets/postgres_password - POSTGRES_DB=mattermost secrets: - postgres_password networks: - internal deploy: labels: backupbot.backup: "true" backupbot.backup.pre-hook: "/pg_backup.sh backup" backupbot.backup.volumes.postgres_data.path: "backup.sql" backupbot.restore.post-hook: "/pg_backup.sh restore" configs: - source: pg_backup target: /pg_backup.sh mode: 0555 secrets: postgres_password: external: true name: ${STACK_NAME}_postgres_password_${SECRET_POSTGRES_PASSWORD_VERSION} configs: pg_backup: name: ${STACK_NAME}_pg_backup_${PG_BACKUP_VERSION} file: pg_backup.sh abra_mattermost_entrypoint: name: ${STACK_NAME}_entrypoint_${ABRA_MATTERMOST_ENTRYPOINT_VERSION} file: ./entrypoint.sh busybox: name: ${STACK_NAME}_busybox_${BUSYBOX_VERSION} file: ./busybox networks: proxy: external: true internal: volumes: postgres_data: mattermost_config: mattermost_certs: mattermost_data: mattermost_logs: mattermost_plugins: mattermost_client_plugins: