{ ... }: # Audiobookshelf audiobook/podcast server. # Listens on all interfaces: :8000 stays closed on the LAN (no openFirewall), # but reachable over the trusted tailscale0 interface and via localhost (caddy). # Library/media paths are set in the web UI — point them at /mnt/data/... # Runs as user `audiobookshelf`; added to `users` so it can read group-owned # library dirs on the RAID. { services.jellyfin = { enable = true; dataDir = "/mnt/data/AppData/jellyfin"; cacheDir = "${cfg.dataDir}/cache"; }; users.users.jellyfin.extraGroups = [ "users" ]; }