version: "3.8" services: db: build: ./mattermost-docker/db image: mm_db:5.38.2 read_only: true restart: unless-stopped volumes: - ${DATA_PATH}/db/var/lib/postgresql/data:/var/lib/postgresql/data - ${DATA_PATH}/db/.pgpass:/root/.pgpass - /etc/localtime:/etc/localtime:ro env_file: secrets/db.secrets app: build: context: ./mattermost-docker/app args: - edition=team image: mm_app:5.38.2 depends_on: - db restart: unless-stopped networks: - default - proxy volumes: - ${DATA_PATH}/app/mattermost/config:/mattermost/config:rw - ${DATA_PATH}/app/mattermost/data:/mattermost/data:rw - ${DATA_PATH}/app/mattermost/logs:/mattermost/logs:rw - ${DATA_PATH}/app/mattermost/plugins:/mattermost/plugins:rw - ${DATA_PATH}/app/mattermost/client-plugins:/mattermost/client/plugins:rw - /etc/localtime:/etc/localtime:ro env_file: secrets/app.secrets labels: - "traefik.enable=true" - "traefik.docker.network=proxy" - "traefik.http.services.mm-web-svc.loadbalancer.server.port=8000" - "traefik.http.routers.mm-https.service=mm-web-svc" - "traefik.http.middlewares.mm-redirect-websecure.redirectscheme.scheme=https" - "traefik.http.routers.mm-http.middlewares=mm-redirect-websecure" - "traefik.http.routers.mm-http.rule=Host(`${CN}`)" - "traefik.http.routers.mm-http.entrypoints=web" - "traefik.http.routers.mm-https.rule=Host(`${CN}`)" - "traefik.http.routers.mm-https.entrypoints=websecure" - "traefik.http.routers.mm-https.tls=true" - "traefik.http.routers.mm-https.tls.certresolver=myhttpchallenge" networks: proxy: external: true