version: "3.9" networks: proxy: external: true mattermost: name: mattermost external: false volumes: mattermost: name: mattermost mattermost-config: name: mattermost-config mattermost-client-plugins: name: mattermost-client-plugins mattermost-plugins: name: mattermost-plugins mattermost-logs: name: mattermost-logs mattermost-db: name: mattermost-db services: mattermost: image: mattermost/mattermost-team-edition:9.11 container_name: mattermost environment: MM_USERNAME: ${ADMIN_USER} MM_PASSWORD: ${ADMIN_PASS} MM_DBNAME: ${DB_NAME} DB_HOST: mattermost-db DB_PORT_NUMBER: 5432 MM_SERVICESETTINGS_SITEURL: https://cs-mm.ddnss.de restart: unless-stopped networks: - proxy - mattermost depends_on: - mattermost-db volumes: - mattermost:/mattermost/data - mattermost-config:/mattermost/config:rw - mattermost-client-plugins:/mattermost/client/plugins - mattermost-plugins:/mattermost/plugins - mattermost-logs:/mattermost/logs labels: - "traefik.enable=true" - "traefik.http.routers.mattermost.entrypoints=web" - "traefik.http.routers.mattermost.rule=Host(`cs-mm.ddnss.de`)" - "traefik.http.routers.mattermost.middlewares=mattermost" - "traefik.http.middlewares.mattermost.redirectscheme.scheme=https" - "traefik.http.routers.mattermost-secure.entrypoints=websecure" - "traefik.http.routers.mattermost-secure.rule=Host(`cs-mm.ddnss.de`)" - "traefik.http.routers.mattermost-secure.service=mattermost-secure" - "traefik.http.routers.mattermost-secure.tls=true" - "traefik.http.routers.mattermost-secure.tls.certresolver=myresolver" - "traefik.http.services.mattermost-secure.loadbalancer.server.port=8065" mattermost-db: image: postgres:17-alpine container_name: mattermost-db hostname: mattermost-db restart: unless-stopped volumes: - mattermost-db:/var/lib/postgresql/data networks: - mattermost environment: POSTGRES_PASSWORD: ${DB_PASS} POSTGRES_USER: ${DB_USER} POSTGRES_DB: ${DB_NAME} healthcheck: test: ["CMD-SHELL", "pg_isready -U $DB_USER"]