Files
timmy-config/deploy/conduit/Caddyfile

59 lines
1.7 KiB
Caddyfile
Raw Normal View History

# Caddy configuration for Conduit Matrix homeserver
# Location: /etc/caddy/conf.d/matrix.conf (imported by main Caddyfile)
# Reference: docs/matrix-fleet-comms/README.md
matrix.timmy.foundation {
# Reverse proxy to Conduit
reverse_proxy localhost:8448 {
# Headers for WebSocket upgrade (client sync)
header_up Host {host}
header_up X-Real-IP {remote}
header_up X-Forwarded-For {remote}
header_up X-Forwarded-Proto {scheme}
}
# Security headers
header {
X-Frame-Options DENY
X-Content-Type-Options nosniff
X-XSS-Protection "1; mode=block"
Referrer-Policy strict-origin-when-cross-origin
Permissions-Policy "geolocation=(), microphone=(), camera=()"
}
# Enable compression
encode gzip zstd
# Let's Encrypt automatic TLS
tls {
# Email for renewal notifications
# Uncomment and set: email admin@timmy.foundation
}
# Logging
log {
output file /var/log/caddy/matrix-access.log {
roll_size 100mb
roll_keep 5
}
}
}
# Well-known delegation for Matrix federation
# Allows other servers to discover our homeserver
timmy.foundation {
handle /.well-known/matrix/server {
header Content-Type application/json
respond `{"m.server": "matrix.timmy.foundation:443"}`
}
handle /.well-known/matrix/client {
header Content-Type application/json
header Access-Control-Allow-Origin *
respond `{"m.homeserver": {"base_url": "https://matrix.timmy.foundation"}}`
}
# Redirect root to Element Web or documentation
redir / https://matrix.timmy.foundation permanent
}