http: routers: synapse: rule: "Host(`${MATRIX_SUBDOMAIN}.${DOMAIN}`)" entrypoints: - websecure service: synapse tls: certResolver: letsencrypt middlewares: - secure-headers element: rule: "Host(`${ELEMENT_SUBDOMAIN}.${DOMAIN}`)" entrypoints: - websecure service: element tls: certResolver: letsencrypt middlewares: - secure-headers synapse-admin: rule: "Host(`${ADMIN_SUBDOMAIN}.${DOMAIN}`)" entrypoints: - websecure service: synapse-admin tls: certResolver: letsencrypt middlewares: - secure-headers wellknown: rule: "Host(`${DOMAIN}`)" entrypoints: - websecure service: wellknown tls: certResolver: letsencrypt middlewares: - secure-headers dashboard: rule: "Host(`${TRAEFIK_SUBDOMAIN}.${DOMAIN}`)" entrypoints: - websecure service: api@internal tls: certResolver: letsencrypt middlewares: - dashboard-auth - secure-headers services: synapse: loadBalancer: servers: - url: "http://matrix-synapse:8008" element: loadBalancer: servers: - url: "http://matrix-element:80" synapse-admin: loadBalancer: servers: - url: "http://matrix-synapse-admin:80" wellknown: loadBalancer: servers: - url: "http://matrix-wellknown:80"