# Caddyfile — Reverse proxy for Conduit Matrix homeserver # Issue: #166 / #183 # # Place in /etc/caddy/Caddyfile or use with `caddy run --config Caddyfile` # Matrix client and federation on same domain matrix.timmy.foundation { # Client API (.well-known, /_matrix/client) handle /.well-known/matrix/* { header Content-Type application/json respond `{" "m.homeserver": {"base_url": "https://matrix.timmy.foundation"}, "m.identity_server": {"base_url": "https://vector.im"} }` 200 } # Handle federation (server-to-server) on standard path handle /_matrix/server/* { reverse_proxy localhost:6167 } # Handle client API handle /_matrix/client/* { reverse_proxy localhost:6167 } # Handle media repository handle /_matrix/media/* { reverse_proxy localhost:6167 } # Handle federation checks handle /_matrix/federation/* { reverse_proxy localhost:6167 } # Handle static content (if serving Element web from same domain) handle_path /element/* { reverse_proxy localhost:8080 } # Health check / status respond /health "OK" 200 # Default — you may want to serve Element web or redirect respond "Matrix Homeserver" 200 } # Optional: Serve Element Web on separate subdomain # element.timmy.foundation { # reverse_proxy localhost:8080 # } # Federation port (8448) — server-to-server communication # This allows other Matrix servers to find and connect to yours matrix.timmy.foundation:8448 { reverse_proxy localhost:6167 }