version: "3.8" services: db: image: postgres:12.18-alpine 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 labels: - "co.elastic.logs/module=postgresql" - "co.elastic.logs/fileset=log" app: image: mm_app:${MM_VERSION} build: context: https://github.com/mattermost/mattermost.git#v${MM_VERSION}:server/build args: MM_PACKAGE: https://releases.mattermost.com/${MM_VERSION}/mattermost-team-${MM_VERSION}-linux-amd64.tar.gz depends_on: - db security_opt: - no-new-privileges:true 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/plugins:/mattermost/plugins:rw - /etc/localtime:/etc/localtime:ro env_file: secrets/app.secrets labels: - "traefik.enable=true" - "traefik.docker.network=proxy" - "traefik.http.services.mm-svc.loadbalancer.server.port=8065" - "traefik.http.routers.mm.entrypoints=websecure" - "traefik.http.routers.mm.rule=Host(`${CN}`)" networks: proxy: external: true