2026-01-09 00:03:04 +01:00
|
|
|
version: '3.8'
|
|
|
|
|
|
|
|
|
|
services:
|
|
|
|
|
jellyfin:
|
|
|
|
|
image: jellyfin/jellyfin:latest
|
|
|
|
|
container_name: jellyfin
|
|
|
|
|
volumes:
|
|
|
|
|
- /path/to/config:/config
|
|
|
|
|
- /path/to/cache:/cache
|
|
|
|
|
- /path/to/media:/media
|
|
|
|
|
environment:
|
|
|
|
|
- JELLYFIN_PublishedServerUrl=http://your-server:8096
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
networks:
|
|
|
|
|
- jellyfin
|
2026-01-09 00:21:57 +01:00
|
|
|
# IMPORTANT: No ports exposed! Only accessible via Caddy
|
2026-01-09 00:03:04 +01:00
|
|
|
|
|
|
|
|
xbox-filter:
|
|
|
|
|
build: .
|
|
|
|
|
container_name: jellyfin-xbox-filter
|
|
|
|
|
depends_on:
|
|
|
|
|
- jellyfin
|
2026-01-09 00:21:57 +01:00
|
|
|
# No ports exposed - only Caddy talks to this
|
2026-01-09 00:03:04 +01:00
|
|
|
environment:
|
|
|
|
|
- JELLYFIN_URL=http://jellyfin:8096
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
networks:
|
|
|
|
|
- jellyfin
|
|
|
|
|
|
2026-01-09 00:21:57 +01:00
|
|
|
caddy:
|
|
|
|
|
image: caddy:2-alpine
|
|
|
|
|
container_name: jellyfin-caddy
|
|
|
|
|
depends_on:
|
|
|
|
|
- jellyfin
|
|
|
|
|
- xbox-filter
|
|
|
|
|
ports:
|
|
|
|
|
- "8096:8096" # Public-facing port
|
|
|
|
|
volumes:
|
|
|
|
|
- ./Caddyfile:/etc/caddy/Caddyfile:ro
|
|
|
|
|
- caddy_data:/data
|
|
|
|
|
- caddy_config:/config
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
networks:
|
|
|
|
|
- jellyfin
|
|
|
|
|
|
2026-01-09 00:03:04 +01:00
|
|
|
networks:
|
|
|
|
|
jellyfin:
|
|
|
|
|
driver: bridge
|
2026-01-09 00:21:57 +01:00
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
|
caddy_data:
|
|
|
|
|
caddy_config:
|