--- services: app: image: stalwartlabs/stalwart:v0.16.15 networks: - proxy ports: - target: 25 published: 25 protocol: tcp mode: host - target: 465 published: 465 protocol: tcp mode: host - target: 587 published: 587 protocol: tcp mode: host - target: 993 published: 993 protocol: tcp mode: host volumes: - config:/etc/stalwart - data:/var/lib/stalwart deploy: restart_policy: condition: on-failure update_config: failure_action: rollback order: stop-first labels: - "traefik.enable=true" - "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`) || Host(`autodiscover.${BASE_DOMAIN}`) || Host(`autoconfig.${BASE_DOMAIN}`) || Host(`mta-sts.${BASE_DOMAIN}`)" - "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure" - "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}" - "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=8080" - "backupbot.backup=${ENABLE_BACKUPS:-true}" networks: proxy: external: true volumes: config: data: