Fix Caddyfile: Proper reverse proxy to Python filter

Caddyfile now:
- Runs on port 8097 (external)
- Proxies to xbox-filter:8096 (Python filter)
- Python filter handles all Xbox detection and codec filtering
- Python filter then proxies to jellyfin:8096 (internal)

Architecture:
Client :8097 → Caddy → :8096 Python Filter → :8096 Jellyfin

Use Caddy if you need additional features like:
- SSL/TLS termination
- Rate limiting
- Access control
- Advanced routing

Or use Python filter directly on port 8096 for simpler setup.
This commit is contained in:
mani
2026-01-09 00:19:14 +01:00
parent a0097cae2d
commit 0eaee053f5

View File

@@ -1,6 +1,10 @@
:8096 {
# Forward all requests to Jellyfin
reverse_proxy jellyfin:8096 {
# Caddyfile for Jellyfin Xbox Codec Filter Proxy
# Simple reverse proxy to the Python filter service
:8097 {
# All requests go to the Python filter
# The Python filter handles Xbox detection and codec filtering
reverse_proxy xbox-filter:8096 {
# Pass through headers
header_up Host {host}
header_up X-Real-IP {remote_host}
@@ -8,15 +12,12 @@
header_up X-Forwarded-Proto {scheme}
}
# Handle Xbox codec filtering via external handler
@xbox_playback {
path /Users/*/Items/*/PlaybackInfo
method POST
header User-Agent *Xbox*
}
# Enable compression for better performance
encode gzip
handle @xbox_playback {
# Forward to Python filter service
reverse_proxy http://xbox-filter:5000
# Access logging
log {
output stdout
format console
}
}