version: "3.8" services: app: image: 3wordchant/go-ssb-room:2.0.3 networks: - proxy environment: - DOMAIN volumes: - "data:/app/data" deploy: restart_policy: condition: on-failure labels: - "traefik.enable=true" - "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=3000" - "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`) || HostRegexp(`{subdomain:\\w+}.${DOMAIN}`)" - "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure" - "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}" - "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect-aliases@docker" - "traefik.http.middlewares.${STACK_NAME}-redirect-aliases.redirectregex.regex=^https://(\\w+)\\.${DOMAIN}/(.*)" - "traefik.http.middlewares.${STACK_NAME}-redirect-aliases.redirectregex.replacement=https://${DOMAIN}/alias/$${1}$${2}" - "traefik.tcp.routers.${STACK_NAME}-muxrpc.rule=HostSNI(`*`)" - "traefik.tcp.routers.${STACK_NAME}-muxrpc.entrypoints=ssb-muxrpc" - "traefik.tcp.services.${STACK_NAME}-muxrpc.loadbalancer.server.port=8008" - "traefik.http.routers.${STACK_NAME}.tls.domains[0].main=${DOMAIN}" - "traefik.http.routers.${STACK_NAME}.tls.domains[0].sans=*.${DOMAIN}" - coop-cloud.${STACK_NAME}.app.version=2.0.3-eec92a23 networks: proxy: external: true volumes: data: