Add Caddy reverse proxy configuration for Matrix (#183)
This commit is contained in:
58
infra/matrix/caddy/Caddyfile
Normal file
58
infra/matrix/caddy/Caddyfile
Normal file
@@ -0,0 +1,58 @@
|
||||
# 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
|
||||
}
|
||||
Reference in New Issue
Block a user