By: Ammar Nanjiani <ammar.nanjiani@gmail.com>
feat(jellyfin): host media archive on theoden, fronted by traefik
Native services.jellyfin (nixarr not needed for LAN-only use; the Aug 2025
nixarr experiment was retired for VPN reasons and its jellyfin extras are
public-exposure plumbing). Replaces the stale media->homeserver_ip DNS
record with jellyfin->traefik LB.
- hosts/servers/theoden/jellyfin.nix: services.jellyfin on :8096,
jellyfin user in storage group for /mnt/storage/movies read
- k8s/apps/jellyfin/: romm-pattern Service+manual Endpoints to
192.168.1.27, bifrost-pattern dual IngressRoute + certs
(jellyfin.lan via lan-ca, jellyfin.dimensiondoor.xyz via letsencrypt)
- adguard.nix: jellyfin.lan rewrite -> 192.168.1.52
- htpc.nix: kodi-gbm withPackages + jellyfin addon (rivendell)
- dns.tf: media record -> jellyfin record
Leftovers cleaned on theoden: /mnt/storage/{jellyfin,arr-data} (44K
husks + dead Mullvad wg key) removed.
Total
12m28s
| Time to Start | Worker time | Duration | Time to finish | Idle | |
|---|---|---|---|---|---|
| Config | 2s | 3s | 3s | 5s | 2s |
| Eval | 6s | 5m33s | 5m33s | 5m40s | 1s |
| Build | 5m38s | 22m42s | 6m51s | 12m30s | 1s |
| Suite | 2s | 28m18s | 12m28s | 12m30s | 5s |