--- version: "3.8" services: admin: image: awesometechnologies/synapse-admin:0.10.3 networks: - proxy deploy: labels: - "traefik.enable=true" - "traefik.docker.network=proxy" - "traefik.http.services.${STACK_NAME}_admin.loadbalancer.server.port=80" - "traefik.http.routers.${STACK_NAME}_admin.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})&&PathPrefix(`/admin`)" - "traefik.http.routers.${STACK_NAME}_admin.entrypoints=web-secure" - "traefik.http.routers.${STACK_NAME}_admin.tls.certresolver=${LETS_ENCRYPT_ENV}" - "traefik.http.routers.${STACK_NAME}_admin.middlewares=admin,admin_path" - "traefik.http.middlewares.admin.redirectregex.regex=^(.*)/admin/?" - "traefik.http.middlewares.admin.redirectregex.replacement=$${1}/admin/" - "traefik.http.middlewares.admin_path.stripprefix.prefixes=/admin" environment: - DOMAIN configs: - source: admin_config target: /app/config.json healthcheck: test: ["CMD", "curl", "-f", "http://localhost"] interval: 30s timeout: 10s retries: 10 start_period: 1m web: environment: - ADMIN_INTERFACE_ENABLED networks: proxy: external: true configs: admin_config: name: ${STACK_NAME}_admin_config_${ADMIN_CONFIG_VERSION} file: admin.conf.tmpl template_driver: golang