# koopa-prime — Jellyfin + qBittorrent (2026-07-09) ## Containers (podman-compose) Path: `/home/hernani/koopa-prime/` | Container | Role | Host port | |-----------|------|-----------| | `koopa-prime-jellyfin` | Video library (Jellyfin) | **9022** | | `koopa-prime-qbittorrent` | BitTorrent client | **9023** WebUI, **6881** BT | ## Media wiring | Host path | Jellyfin | qBittorrent | |-----------|----------|-------------| | `/home/hernani/Downloads` | `/media/downloads` **ro** (library) | `/downloads` **rw** (save path) | Downloads land in the same folder Jellyfin scans. ## Auth (login required) - **Jellyfin:** admin account created via Startup API; library access needs login. - **qBittorrent:** WebUI password required (401 without session). Credentials: `~/koopa-prime/users.env` (mode 600). ## Public / Caddy | Host | Backend | |------|---------| | `prime.hacktivism.ch` | `127.0.0.1:9022` | | `torrent.prime.hacktivism.ch` | `127.0.0.1:9023` (needs DNS CNAME) | See session notes for Caddy snippets. BT port **6881** may need firewall/VeciGate if peers should connect. ## Ops ```bash cd ~/koopa-prime podman-compose ps podman-compose logs -f jellyfin podman-compose up -d ```