49 lines
1.5 KiB
Caddyfile
49 lines
1.5 KiB
Caddyfile
# ---------------------------------------------------------------------------
|
|
# Caddyfile
|
|
#
|
|
# Install at /etc/caddy/Caddyfile (or merge with your existing one), edit the
|
|
# placeholders below, then: sudo systemctl reload caddy
|
|
#
|
|
# Caddy auto-provisions Let's Encrypt certs for every site block. DNS for
|
|
# both subdomains must point at this Caddy host's public IP first.
|
|
#
|
|
# Placeholders to replace:
|
|
# yourdomain.com -> your real domain
|
|
# 192.168.1.50 -> Frigate host LAN IP
|
|
# 192.168.1.60 -> Pi Zero W LAN IP (when you set up the doorbell)
|
|
# ---------------------------------------------------------------------------
|
|
|
|
# ---------- Frigate authenticated UI ----------
|
|
cam.yourdomain.com {
|
|
encode zstd gzip
|
|
|
|
reverse_proxy 192.168.1.50:8971 {
|
|
transport http {
|
|
read_timeout 60s
|
|
write_timeout 60s
|
|
}
|
|
}
|
|
}
|
|
|
|
# ---------- Doorbell PTT page (Pi Zero W) ----------
|
|
# Comment out this whole block until the Pi is deployed.
|
|
doorbell.yourdomain.com {
|
|
encode zstd gzip
|
|
|
|
# Same-origin proxy to Frigate so the browser's WebRTC fetch works
|
|
# without CORS issues. /frigate/* is stripped before forwarding.
|
|
handle_path /frigate/* {
|
|
reverse_proxy 192.168.1.50:8971 {
|
|
transport http {
|
|
read_timeout 60s
|
|
write_timeout 60s
|
|
}
|
|
}
|
|
}
|
|
|
|
# Everything else (HTML page + /audio WebSocket) goes to the Pi.
|
|
handle {
|
|
reverse_proxy 192.168.1.60:5555
|
|
}
|
|
}
|