Jellyfin
Media ServersFree software media system for streaming your library
Replaces Plex, Emby
Movies and TV
Movies, music, audiobooks, and comics under one roof.
One server, four specialised libraries: Jellyfin for video, Navidrome for music with Subsonic-compatible mobile apps, Audiobookshelf for audiobooks and podcasts, and Kavita for comics, manga, and ebooks. Splitting media types across purpose-built apps beats forcing everything through one interface — each app's apps, metadata handling, and progress sync are tuned to its format.
Free software media system for streaming your library
Replaces Plex, Emby
Movies and TV
Modern music streaming server for your collection
Replaces Spotify
Music streaming
Self-hosted audiobook and podcast server
Replaces Audible
Audiobooks and podcasts
Fast self-hosted digital library for all reading
Replaces Kindle, ComiXology
Comics, manga, and ebooks
Last reviewed Oct 11, 2026 · 647 words
This stack is four independent servers sharing one disk, and the setup work is almost entirely about the disk. Lay out one media tree with a top-level folder per format, mount each folder into exactly one app, and Jellyfin, Navidrome, Audiobookshelf and Kavita never step on each other. The directory estimates the combined floor at about 1,408 MB of RAM, with Jellyfin and Kavita at 512 MB each, Audiobookshelf at 256 MB and Navidrome at 128 MB. All four are rated Easy.
Unlike the *arr stack, these apps have no API wiring between them. Each scans its own folder, builds its own metadata, keeps its own users and serves its own clients. Jellyfin covers movies and TV for TVs and phones. Navidrome speaks the Subsonic API, so any Subsonic-compatible mobile player works against it. Audiobookshelf has native mobile apps with progress sync and handles podcast auto-download. Kavita reads books, comics and manga in the browser and exposes OPDS for e-reader apps.
The shared concerns are storage, the reverse proxy and accounts, in that order.
A layout like /srv/media/video, /srv/media/music, /srv/media/audiobooks, /srv/media/books keeps things obvious. The catalogue's deploy notes say to mount media read-only in both Jellyfin and Navidrome, since neither needs to write to the library. Audiobookshelf is the exception: if you use podcast auto-download, it needs write access to its podcast folder. Kavita's library organisation is folder-based, so get the series-per-folder structure right before the first scan rather than after.
| App | Mounts | Writes to media? | Directory RAM estimate |
|---|---|---|---|
| Jellyfin | video folder | No (read-only) | 512 MB |
| Navidrome | music folder | No (read-only) | 128 MB |
| Audiobookshelf | audiobooks, podcasts | Podcasts only | 256 MB |
| Kavita | books and comics | No | 512 MB |
Because Jellyfin can technically index music and books but none of its clients are built for them. Audiobook listeners want chapter-aware playback and synced progress across devices, which is Audiobookshelf's core feature. Music listeners want offline caching and playlists in a dedicated player, which the Subsonic client ecosystem around Navidrome provides. Comic readers want page-turning and reading lists. The Jellyfin vs Navidrome comparison shows the music gap in detail. Pointing Jellyfin at the whole /srv/media tree is the common mistake here: it files audiobooks as music albums, lengthens every scan, and gives you a worse experience than the specialised app would.
Order barely matters since nothing depends on anything, but I start with the app the household uses most, which is almost always Jellyfin, then Navidrome, then Audiobookshelf and Kavita. Give each its own subdomain behind the reverse proxy. Jellyfin needs websocket pass-through or its dashboard and SyncPlay break. Navidrome can run under a subpath, but then you must set ND_BASEURL; a subdomain avoids that.
Accounts are four separate user databases. For a family of four that is sixteen logins to create, so do it once, write it down, and resist adding SSO until you have checked that each app's mobile clients still work behind it.
Back up each app's config or data directory, which holds watch history, listening progress, playlists and reading position. The media itself belongs in your normal backup scheme; the 3-2-1 backup guide covers that part.
Create the folder layout first, mount each format into one app only, and run all four. The RAM cost is modest, and splitting by format is what makes every client in the house good rather than merely working. If music is your main reason for being here, read the Navidrome guide next.