···11+{
22+ # Cloudflare Tunnel configuration.
33+ # Single tunnel for all services (PDS, Matrix, etc.)
44+55+ enable = true;
66+77+ # Tunnel UUID from `cloudflared tunnel create server`
88+ # Replace this after running that command.
99+ tunnelId = "63ec1b18-1358-4ee2-9093-713b4e7d9325";
1010+1111+ # Ingress routes - maps hostnames to internal services
1212+ # These are configured automatically by service modules (pds.nix, matrix.nix, etc.)
1313+ # but can be overridden here if needed.
1414+}
···11+{
22+ # Matrix Synapse homeserver configuration.
33+ # Non-secret settings only. Secrets (registration_shared_secret, macaroon_secret_key)
44+ # should be stored in secrets/age/matrix.env.age.
55+66+ enable = true;
77+88+ # Public hostname — also used as the Caddy virtual host and the Cloudflare
99+ # tunnel public hostname.
1010+ hostname = "matrix.ewancroft.uk";
1111+1212+ # The base domain used for Matrix IDs (@user:domain).
1313+ # Using your apex domain so users have clean Matrix IDs like @username:ewancroft.uk
1414+ serverName = "ewancroft.uk";
1515+1616+ # Internal port the Synapse process listens on. Never exposed publicly.
1717+ port = 8008;
1818+1919+ # Caddy internal listen port — Cloudflare tunnel routes here.
2020+ caddyPort = 8448;
2121+2222+ # systemd restart policy
2323+ restartSec = 5;
2424+ startLimitIntervalSec = 300;
2525+ startLimitBurst = 5;
2626+}
-7
settings/config/pds.nix
···3636 # Caddy internal listen port — Cloudflare tunnel routes here.
3737 caddyPort = 2020;
38383939- # Cloudflare tunnel settings.
4040- # tunnelId: UUID from `cloudflared tunnel create pds` (shown in the dashboard).
4141- # Replace this placeholder after running that command.
4242- cloudflare = {
4343- tunnelId = "5d78eb68-af85-4c13-b28d-907bb570c259";
4444- };
4545-4639 # systemd restart policy
4740 restartSec = 5;
4841 startLimitIntervalSec = 300;