Skip to content

The services

The stack is twenty-three services. You will rarely run all of them at once — forms exist precisely so you do not have to — but it is worth knowing what each one is for, because every diagnostic and every trace names them.

Every table on this page is read from the stack manifest this site pins, which is where lemonfiber gets it too. None of it is hardcoded in the binary.

The last column names the smallest form that starts each service. Broader forms include it as well: anything in search is also started by hunt, tv, movies, music, books, auto and full.

ServiceWhat it doesWithout itSmallest form
ProwlarrHolds your indexer accounts in one place and shares them with everything elseEvery app needs indexers configured separatelysearch
FlareSolverrGets past bot-protection on some indexersThose indexers return nothingsearch
NZBHydra2A search box across all your Usenet indexers at onceSearch one indexer at a timesearch
SABnzbdDownloads from UsenetNo Usenet downloadsdl
GluetunRoutes torrent traffic through your VPN and blocks it if the VPN dropsYour home IP is visible to every peerdl
qBittorrentDownloads the torrents everything else asks forNo torrent downloadsdl
SonarrWatches for new episodes and fetches themFind and download episodes yourselftv
RadarrWatches for films and fetches themFind and download films yourselfmovies
LidarrWatches for music and fetches itFind and download music yourselfmusic
BinderyWatches for books and audiobooks and fetches themNo book automation (Readarr is discontinued)books
BazarrFinds and downloads subtitlesNo automatic subtitlestv
JellyfinPlays your library on TVs, phones and browsersFiles on disk, no way to watch themlibrary
DoorLets the household reach Jellyfin, and lets an item's stream or picture out only to someone allowed to see itJellyfin answers on this machine only, and nothing else in the house can play from itlibrary
SeerrWhere the household asks for thingsRequests come to you in personlibrary
Request gateStands between Seerr and Sonarr, Radarr and Jellyfin, so Seerr holds none of their keysSeerr cannot reach Sonarr, Radarr or Jellyfin: requests are not sent, and members cannot sign in to Seerrlibrary
Decline serviceLets somebody you invited turn the invitation down, and switches the account off the moment they doAn invitation carries no way to refuse it, and stays claimable until it lapseslibrary
Calibre-Web-AutomatedReading and organising your ebook libraryNo ebook readerlibrary
AudiobookshelfListening to audiobooks, with progress syncedNo audiobook playerlibrary
NavidromePlays your music library in a browser, on a phone, and in any Subsonic clientMusic arrives and only the thing that fetched it ever looks at itlibrary
RecyclarrKeeps quality settings in line with community guidanceTune quality profiles by handauto
UnpackerrExtracts archived releases so they can be importedSome downloads never importauto
HomepageOne page linking everything, with live statusRemember a dozen URLs and portsfull
CaddyFriendly hostnames instead of portsUse localhost:8989 and friendsproxy

Bazarr is reached by movies as well as tv; both forms include the subs profile.

Binding is two-tier, and it is a default rather than a setting you have to find.

Administrative interfaces bind to loopback. The automation services and the download clients answer only on 127.0.0.1, because nothing on your network has any business reaching them. Household-facing surfaces bind to the LAN, because they are useless if a television cannot reach them. The dashboard joins them, since a dashboard nobody else can open is not much of a dashboard, and so does the decline service, whose address is the one an invitation gives for turning it down.

ServicePortReached from
Prowlarr9696This machine only
FlareSolverr8191This machine only
NZBHydra25076This machine only
SABnzbd8085This machine only
GluetunPublishes no port
qBittorrent8081This machine only
Sonarr8989This machine only
Radarr7878This machine only
Lidarr8686This machine only
Bindery8787This machine only
Bazarr6767This machine only
Jellyfin8095This machine only
Door8096The household's network
Seerr5055The household's network
Request gatePublishes no port
Decline service5056The household's network
Calibre-Web-Automated8083The household's network
Audiobookshelf13378The household's network
Navidrome4533The household's network
RecyclarrPublishes no port
UnpackerrPublishes no port
Homepage3000The household's network
Caddy80The household's network

Nothing binds to every interface. Reaching any of this from outside the house is Remote access, which is a deliberate decision rather than a default.

Gluetun is a network namespace that qBittorrent runs inside; Recyclarr and Unpackerr are scheduled jobs with no interface; and the request gate is reached only by Seerr, across the internal networks it shares with Seerr and with the services it calls. None of them publishes a port.

Gluetun is the only service granted network administration capability, and the only one marked critical rather than core. If it is unhealthy, torrent traffic is not protected — which is a different class of problem from a service being down, because the failure is invisible from inside the stack. That is what Is my VPN hiding me? exists to answer.

Bindery fills the automation role for books, but it is not one of the Servarr family and does not share their API. Prowlarr’s application sync does not cover it, so it consumes indexer endpoints directly.

The manifest grades each service, and lemonfiber’s health summary uses that grading rather than counting containers:

GradeMeaningServices
CriticalFailure has consequences outside the machineGluetun
CoreThe stack cannot do its job without itProwlarr, SABnzbd, qBittorrent, Sonarr, Radarr, Lidarr, Bindery
ImportantThe household notices immediatelyJellyfin, Door, Seerr, Request gate
EnhancingSomething works less wellFlareSolverr, NZBHydra2, Bazarr, Decline service, Calibre-Web-Automated, Audiobookshelf, Navidrome, Recyclarr, Unpackerr, Homepage
OptionalConvenience onlyCaddy

This is why a stack with every container running and a leaking VPN does not report that everything is fine.

Every image is pinned to an explicit version tag in the manifest. Nothing changes because time passed — an update happens when you decide it should. See Updating.

The manifest also records each service’s licence and upstream project. Twenty-one are open source. The request gate and the decline service are lemonfiber’s own images, built from lemonfiber-request-gate and lemonfiber-decline under lemonfiber’s licence, which is separate and stricter.