services: element: image: vectorim/element-web container_name: element_web restart: unless-stopped configs: - source: element_config target: /app/config.json mode: "0444" networks: - proxy labels: - traefik.enable=true - traefik.http.services.element.loadbalancer.server.port=80 - traefik.http.routers.element.entrypoints=https - traefik.http.routers.element.rule=Host(`${FQDN_ELEMENT}`) continuwuation: image: forgejo.ellis.link/continuwuation/continuwuity:latest container_name: continuwuation init: true restart: unless-stopped command: /sbin/conduwuit volumes: - continuwuation_db:/var/lib/continuwuity configs: - source: resolv_conf target: /etc/resolv.confg mode: "0400" environment: RUST_BACKTRACE: full CONTINUWUITY_SERVER_NAME: ${FQDN_MATRIX} CONTINUWUITY_DATABASE_PATH: /var/lib/continuwuity CONTINUWUITY_ADDRESS: 0.0.0.0 CONTINUWUITY_ALLOW_REGISTRATION: false CONTINUWUITY_ALLOW_FEDERATION: true CONTINUWUITY_ALLOW_CHECK_FOR_UPDATES: true CONTINUWUITY_TRUSTED_SERVERS: '["matrix.org"]' CONDUWUIT_TRUSTED_PROXIES: 127.0.0.1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16 CONTINUWUITY_PORT: 8008 # This must match with traefik's loadbalancer label CONTINUWUITY_WELL_KNOWN: | { client=https://${FQDN_MATRIX}, server=${FQDN_MATRIX}:443 } networks: - proxy labels: - traefik.enable=true - traefik.http.services.continuwuation.loadbalancer.server.port=8008 - traefik.http.routers.continuwuation.entrypoints=https - traefik.http.routers.continuwuation.rule=Host(`${FQDN_MATRIX}`) - traefik.http.routers.continuwuation.middlewares=cors-headers@docker,matrix-headers@docker - traefik.http.middlewares.cors-headers.headers.accessControlAllowOriginList=* - traefik.http.middlewares.cors-headers.headers.accessControlAllowHeaders=Origin, X-Requested-With, Content-Type, Accept, Authorization - traefik.http.middlewares.cors-headers.headers.accessControlAllowMethods=GET, POST, PUT, DELETE, OPTIONS - traefik.http.middlewares.matrix-headers.headers.customrequestheaders.X-Forwarded-Proto=https volumes: continuwuation_db: {} configs: resolv_conf: content: | nameserver 1.0.0.1 nameserver 1.1.1.1 element_config: content: | { "default_server_config": { "m.homeserver": { "base_url": "https://${FQDN_MATRIX}" }, "m.identity_server": { "base_url": "https://vector.im" } }, "disable_custom_urls": false, "disable_guests": false, "disable_login_language_selector": false, "disable_3pid_login": false, "brand": "Element", "integrations_ui_url": "http://localhost:8011/element", "integrations_rest_url": "http://localhost:8011/api/v1/scalar", "integrations_widgets_urls": [ "http://localhost:8011/widgets" ], "bug_report_endpoint_url": "https://element.io/bugreports/submit", "defaultCountryCode": "GB", "showLabsSettings": false, "features": { "feature_pinning": true }, "default_federate": true, "default_theme": "light", "roomDirectory": { "servers": [ "matrix.org" ] }, "piwik": false, "enable_presence_by_hs_url": { "https://matrix.org": false, "https://matrix-client.matrix.org": false }, "settingDefaults": { "breadcrumbs": true }, "jitsi": { "preferredDomain": "jitsi.riot.im" } } networks: proxy: external: true