jellyfin: nixpkgs service on horse with mediaPaths (NFS or local) #16
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "issue-13-jellyfin-storage-options"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Rewritten from scratch per review — the previous commit is gone (branch force-reset onto
main).New approach:
services.jellyfinmodule directly (no container, nothing custom). All server options (package, user/group, data dirs, GPU transcoding viaservices.jellyfin.hardwareAcceleration, firewall) are the stock nixpkgs options.rpickler.jellyfin.mediaPaths, per issue #13: each entry is a media directory, either local storage or NFS (device = "host:/export"creates thefileSystemsmount;device = nullmeans local). The jellyfin unit getsRequiresMountsForfor every path so it starts only after the media is mounted — NFS mounts just work.horseinhosts/horse.nixfor the existing/volume/public/media/{movies,tv,music}(local btrfs); adding an NFS-backed path later is one line in the host config.Library folders stay a one-time web-UI/API task; the module only guarantees the service can see the paths.
@hermes-bot This is awful. Start over from scratch. Use the service already available in nixpkgs. Ignore the previous commit entirely as that is not the way to do this. Go back to the original issue #13
41c8dbb664toa72e068d59Add jellyfin module with mediaPaths optionto jellyfin: nixpkgs service on horse with mediaPaths (NFS or local)Done — branch force-reset onto
mainand re-implemented from scratch, the old commit is gone.It now just drives the nixpkgs
services.jellyfinmodule (no container): the module enablesservices.jellyfin.enable+openFirewall, and adds a single option,rpickler.jellyfin.mediaPaths, for issue #13. Each path is local storage (device = null) or an NFS mount (device = "host:/export"→ creates thefileSystemsentry); the jellyfin unit takesRequiresMountsForfor every path so it can’t start before media is mounted.Enabled on horse for
/volume/public/media/{movies,tv,music}(local). GPU transcoding is available through the stockservices.jellyfin.hardwareAccelerationoptions when you want it.Ready for another look: #16