From 24ff3bcebaa2c39dc48a432c109cfde10b3a54cf Mon Sep 17 00:00:00 2001 From: Jozsef Gtta Date: Fri, 7 Aug 2026 16:25:34 +0000 Subject: [PATCH] Fix Jellyfin docs (native, not Docker) + document TV library real-time monitor fix --- homelab-overview.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/homelab-overview.md b/homelab-overview.md index c1ca6fb..7be9cc7 100644 --- a/homelab-overview.md +++ b/homelab-overview.md @@ -151,7 +151,7 @@ All stack data volumes are stored at `/srv/docker//` on each host us | Service | Image | Port | Purpose | |---|---|---|---| -| Jellyfin | jellyfin/jellyfin:latest | 8096 | Media streaming server | +| Jellyfin | native (apt, systemd `jellyfin.service`) | 8096 | Media streaming server | | Radarr | lscr.io/linuxserver/radarr:latest | 7878 | Movie automation | | Sonarr | lscr.io/linuxserver/sonarr:latest | 8989 | TV show automation | | Prowlarr | lscr.io/linuxserver/prowlarr:latest | 9696 | Indexer manager for Radarr/Sonarr | @@ -166,6 +166,8 @@ Media storage is mounted at `/mnt/media` on the jellyfin host and presented as ` **qBittorrent + gluetun (added 2026-08-07):** qBittorrent used to run natively (`qbittorrent-nox` systemd service) bound to a ProtonVPN desktop-app interface (`proton0`). When that GUI-managed tunnel dropped, qBittorrent had no way to reconnect without an interactive desktop session, silently killing all downloads. It's now containerized: `qbittorrent` runs with `network_mode: service:gluetun`, so it shares gluetun's network namespace entirely — if the VPN tunnel drops, qBittorrent has zero network access (fails closed, never falls back to the real IP) until gluetun auto-reconnects, which it does on its own. Compose file: `/srv/docker/qbittorrent/docker-compose.yml` on the jellyfin host. Uses ProtonVPN OpenVPN credentials (see API Codes.md). qBittorrent's config volume (`/srv/docker/qbittorrent/config`) also mounts the media disk at the identical path `/mnt/media` (not `/data`) so it matches Sonarr/Radarr's existing Remote Path Mapping (`/mnt/media/` → `/data/`) and the pre-existing categories (`tv-sonarr`, `movies-radarr`) and resume data needed no path rewriting during migration. +**Jellyfin auto-import gap (found/fixed 2026-08-07):** Sonarr/Radarr have no notification/webhook connection to Jellyfin — nothing actively tells Jellyfin when a new file lands. Jellyfin's "Movies" library had real-time filesystem monitoring enabled (instant pickup), but "Shows" did not, so new TV episodes only appeared after the scheduled library scan (runs every 12h). Enabled `EnableRealtimeMonitor` on the Shows library via the Jellyfin API to match Movies. Jellyfin API key for scripting: `claude-temp-1778845414` (stored in `/var/lib/jellyfin/data/jellyfin.db`, ApiKeys table). + --- ### jgpc — 192.168.88.41 — AI / Workstation Host