Your Ebook Library Is a Crime Scene
You know the folder. Somewhere on your NAS there’s a directory called Books/ that started innocently enough and turned into this:
Books/ Brandon Sanderson - The Way of Kings.epub way-of-kings-part2-final.mobi Mistborn (1).epub Mistborn_-_The_Final_Empire_unabridged.m4b BRANDON SANDERSON - WORDS OF RADIANCE.EPUB sanderson_stormlight_3_oathbringer.epub tmp_download_452.azw3 unknown_author_2024-11-03.epubNo series ordering. Duplicate formats. Filenames that look like they were named by a cat walking across a keyboard. Metadata? What metadata? Half these files open in your reader with “Unknown Author” and a gray square where the cover should be.
The *arr ecosystem solved this for movies and TV years ago. Books got there too — just a bit more chaotically. For years the two serious options were LazyLibrarian and Readarr. They solved the same problem differently, and one of them had a rougher run than the other — to the point that in early 2026 the Servarr team officially retired Readarr. That changes the calculus a lot, but Readarr installs are still out there and the comparison is worth understanding before you commit. Let’s talk about it.
The Contenders
LazyLibrarian
LazyLibrarian is a Python-based, all-in-one book manager that handles ebooks, audiobooks, and comics. It’s been around for ages, survived multiple GitHub ownership transfers, and despite its “is this project dead?” vibes from the outside, it’s actively maintained by the DobyTang fork.
It does its own thing — different UI paradigm from the *arr stack, but it works, it’s stable, and now that Goodreads has killed off public API access entirely (the same thing that sank Readarr), LazyLibrarian’s fallback metadata sources like Open Library and GoogleBooks are doing the heavy lifting.
Readarr
Readarr was the official *arr-family book manager. If you’re already running Sonarr and Radarr, the UI, concepts, and quality profile system feel instantly familiar. The catch: as of early 2026, Readarr is officially retired. The Servarr team called it — the metadata became unusable after Goodreads killed off public access to its API, nobody had the time to rebuild it, and the community effort to switch to Open Library stalled out.
So why is it still in this comparison? Because plenty of working Readarr installs are still humming along, and the community didn’t just roll over. Third-party metadata mirrors like rreading-glasses have popped up to keep existing setups alive (use them entirely at your own risk — the Servarr team won’t support them). If you’ve already got Readarr running, it doesn’t instantly stop working. But you’re now firmly in unsupported, community-duct-tape territory. Going in fresh? Read the next section, then think hard.
Setting Up LazyLibrarian
Compose Stack
LazyLibrarian pairs well with Prowlarr for indexer management. Here’s a minimal stack:
services: lazylibrarian: image: lscr.io/linuxserver/lazylibrarian:latest container_name: lazylibrarian environment: - PUID=1000 - PGID=1000 - TZ=America/New_York - DOCKER_MODS=linuxserver/mods:lazylibrarian-ffmpeg volumes: - ./config/lazylibrarian:/config - /mnt/media/books:/books - /mnt/media/audiobooks:/audiobooks - /mnt/downloads:/downloads ports: - "5299:5299" restart: unless-stopped
prowlarr: image: lscr.io/linuxserver/prowlarr:latest container_name: prowlarr environment: - PUID=1000 - PGID=1000 - TZ=America/New_York volumes: - ./config/prowlarr:/config ports: - "9696:9696" restart: unless-stopped
calibre-web: image: lscr.io/linuxserver/calibre-web:latest container_name: calibre-web environment: - PUID=1000 - PGID=1000 - TZ=America/New_York - DOCKER_MODS=linuxserver/mods:calibre-web-calibre volumes: - ./config/calibre-web:/config - /mnt/media/books:/books ports: - "8083:8083" restart: unless-stoppedNote: The
linuxserver/mods:lazylibrarian-ffmpegDocker mod adds FFmpeg for audiobook processing. Skip it if you’re ebooks-only.
Initial Configuration
LazyLibrarian’s config lives in config.ini but you’ll mostly drive it through the web UI at port 5299. The key settings to hit first:
[General]# Where processed books landebook_dir = /booksaudiobook_dir = /audiobooksmag_dir = /books/magazines
[Downloaders]# NZBGet or SABnzbd for usenetnzbget_host = nzbgetnzbget_port = 6789
# qBittorrent for torrentsqbittorrent_host = qbittorrentqbittorrent_port = 8080
[Providers]# Prowlarr as your indexer aggregatorprowlarr_url = http://prowlarr:9696prowlarr_apikey = your-api-key-hereMetadata Sources
This is where LazyLibrarian earns its keep. Under Config → Searching, you configure metadata sources in priority order:
- Goodreads — historically the best coverage, but Goodreads has shut down public API access, so this is effectively dead for new setups. If you have a legacy key it may still limp along; don’t count on it.
- GoogleBooks — solid fallback, missing some niche titles. This is your new primary in practice.
- Open Library — fully open, no API key needed, sparse on newer releases but improving as everyone migrates to it.
- ISBN-DB — needs a paid API key for bulk lookups, excellent accuracy when you have an ISBN.
LazyLibrarian will try each source in order and use the first one that returns a result. With Goodreads gone, having GoogleBooks and Open Library baked in is exactly what keeps imports flowing. That’s the key difference from Readarr — no single point of failure pointed at a now-dead API.
Author Follow Workflow
The killer feature: add an author, LazyLibrarian monitors for new releases and grabs them automatically.
- Go to Authors → Add Author
- Search for the author name — LazyLibrarian queries your configured metadata sources
- Set Status: Wanted (for everything) or select individual books
- Hit Save — it’ll kick off a search across your indexers immediately
For series management, LazyLibrarian pulls series data from whichever metadata source answers first — increasingly Open Library now that Goodreads is off the table. Books get tagged with series name and position, so your Calibre library actually shows “The Stormlight Archive #1” instead of “The Way of Kings (Sanderson, Brandon).”
Quality Profiles
LazyLibrarian calls these “Preferred Extensions.” Under Config → Processing:
[Processing]# Ebook format priority (first match wins)ebook_type = epub,mobi,azw3,pdf# Audiobook format priorityaudiobook_type = m4b,mp3,flac# Reject these formats entirelyreject_words = sample,partial,excerptEPUB is the right call for ebooks — universal support, reflowable, works with Calibre, KOBOs, Kindles via conversion. AZW3 is fine if you’re Amazon-only. PDF is a last resort for anything that isn’t a scanned technical manual.
For audiobooks, M4B (AAC in MPEG-4 container) is the gold standard — chapters, cover art, proper metadata. MP3 works everywhere but you lose chapter support. FLAC audiobooks exist but you’re looking at 3-4x the file size for marginal quality gains on spoken word. Your call.
Setting Up Readarr
Heads up: Readarr is officially retired as of early 2026. This setup is here for completeness and for people maintaining existing installs — if you’re starting fresh, LazyLibrarian is the call. To get a retired Readarr working at all now, you’ll need to point it at a third-party metadata mirror like rreading-glasses instead of the dead official server.
Compose Stack
services: readarr: image: lscr.io/linuxserver/readarr:develop container_name: readarr environment: - PUID=1000 - PGID=1000 - TZ=America/New_York volumes: - ./config/readarr:/config - /mnt/media/books:/books - /mnt/downloads:/downloads ports: - "8787:8787" restart: unless-stopped
prowlarr: image: lscr.io/linuxserver/prowlarr:latest container_name: prowlarr environment: - PUID=1000 - PGID=1000 - TZ=America/New_York volumes: - ./config/prowlarr:/config ports: - "9696:9696" restart: unless-stopped
audiobookshelf: image: ghcr.io/advplyr/audiobookshelf:latest container_name: audiobookshelf environment: - TZ=America/New_York volumes: - ./config/audiobookshelf:/config - ./config/audiobookshelf/metadata:/metadata - /mnt/media/audiobooks:/audiobooks - /mnt/media/books:/ebooks ports: - "13378:80" restart: unless-stoppedNote on image tags. Readarr’s
developtag was historically the most up-to-date linuxserver build. Now that the project is retired, no channel gets new patches — pin to a known-good tag and don’t expect updates.
Quality Profiles
This is where Readarr’s *arr heritage shines. The quality profile system is identical to Sonarr/Radarr:
- Settings → Quality — define your acceptable formats
- Create a profile: “Ebooks” with EPUB preferred, MOBI acceptable, PDF cutoff
- Create a profile: “Audiobooks” with M4B preferred, MP3 acceptable
You can set minimum size thresholds to avoid grabbing 50KB “ebooks” that are actually just sample chapters. Set a floor — anything under 500KB for an ebook is suspicious.
Author and Book Search
The *arr-family workflow is familiar: search for an author, monitor them, set a quality profile. Readarr queries its central metadata server (built on Goodreads data, with some additional sources) and populates series information automatically.
One-off book searches work through the Add Book interface — search by title, ISBN, or author. Readarr handles the import and rename on download.
The Metadata Server Problem
Here’s the honest part, and it’s the whole reason Readarr got retired. Readarr’s metadata API (api.readarr.com) was built on Goodreads data. Goodreads killed public API access, the official metadata server became unusable, and nobody had the bandwidth to rebuild it on Open Library in time. With the official server dead, here’s what breaks on a stock install:
- New author/book searches return nothing — the lookup fails silently or with a vague error
- Automatic monitoring stops working — Readarr can’t check for new releases it doesn’t know about
- Already-monitored items still download — if a book was already in your library, existing monitored grabs will continue
Coping strategies for an existing install:
1. Point Readarr at a third-party metadata mirror. rreading-glasses is the most popular community option — it stands in for the dead official server. Entirely at your own risk; the Servarr team won't support it.
2. For books you need NOW: grab manually via your usenet/torrent client and use Readarr's manual import. The import/rename logic still works without the metadata server.
3. Keep a Calibre library as your ground truth. Even when Readarr is broken, Calibre's fetch metadata function (which queries its own sources) still works.
4. Honestly? Plan your exit. With the project retired, migrating to LazyLibrarian is the long-term answer rather than babysitting a mirror indefinitely.Audiobookshelf: The Playback Layer
Neither LazyLibrarian nor Readarr plays your audiobooks — they just download and organize them. That’s where Audiobookshelf comes in.
Point it at your audiobook directory, and it:
- Reads chapter data from M4B files
- Syncs your playback position across devices (iOS, Android apps available)
- Streams to browser with a clean player UI
- Manages per-book and per-series progress
After LazyLibrarian or Readarr drops an audiobook into /mnt/media/audiobooks/, Audiobookshelf picks it up on its next library scan (or trigger a manual scan from the UI). No extra configuration needed — just make sure the volume mounts point to the same physical directory.
Calibre Integration
For ebooks, Calibre is the industry-standard library manager and format converter. Calibre-Web sits in front of it to give you a browser-readable interface and OPDS server for e-readers.
The key integration point: tell LazyLibrarian (or Readarr) to use your Calibre library directory as the root, and let Calibre’s calibredb binary handle adding books and metadata.
In LazyLibrarian:
[Calibre]# Use calibredb for adding books (gets you proper metadata, covers)use_calibre = 1calibre_dir = /books# calibredb binary path inside calibre-web container with the modcalibredb = /usr/bin/calibredbWith this setup, downloaded ebooks get passed through calibredb add before landing in your library. You get:
- Automatic cover fetching
- Metadata normalization
- Format conversion on-the-fly (MOBI → EPUB if you configure it)
- Series/author tagging that plays nicely with Calibre-Web’s UI
Side-by-Side: Which One
| Feature | LazyLibrarian | Readarr |
|---|---|---|
| Stability | Solid, actively maintained | Retired (early 2026); mirror-dependent |
| UI | Functional, dated | Clean *arr-family UX |
| Ebooks | Yes | Yes |
| Audiobooks | Yes (native) | No (ebooks only) |
| Comics/Magazines | Yes | No |
| Metadata sources | Open Library, GoogleBooks, ISBN-DB (Goodreads now dead) | Dead official API; third-party mirror only |
| Metadata fallback | Yes (multi-source) | No (single API, now retired) |
| *arr integration | Partial (Prowlarr supported) | Full (native *arr ecosystem) |
| Quality profiles | Basic (file extension priority) | Full (like Sonarr/Radarr) |
| Series support | Yes | Yes |
| Calibre integration | Yes | Limited |
| Author monitoring | Yes | Yes |
| Docker image | linuxserver (well-maintained) | linuxserver (no longer updated) |
When to Pick LazyLibrarian
- You want audiobooks AND ebooks in one tool
- You’re not already invested in the *arr ecosystem
- You want metadata reliability — multiple fallback sources matter to you
- You read comics or manga alongside books
- You need Calibre deep integration today
When to (Still) Run Readarr
With Readarr retired, this is really “when to keep an existing install going” rather than “when to start fresh.” Reasons you might:
- You already have a working Readarr + metadata mirror setup and don’t want to migrate yet
- You’re deep in the *arr ecosystem and value the UX consistency enough to babysit a mirror
- You only care about ebooks (audiobooks need a separate tool regardless)
- Quality profile granularity matters to you — Readarr’s cutoff/upgrade logic is more powerful
Just know you’re on borrowed time with an unsupported project. For anyone starting today, pick LazyLibrarian.
The Bottom Line
Your ebook library Frankenstein situation is fixable in an afternoon. The question used to be how much alpha-software babysitting you’d tolerate. As of early 2026, the answer got simpler: Readarr is retired, so for anyone starting fresh, LazyLibrarian is the choice.
LazyLibrarian is the pragmatic pick in mid-2026. It handles ebooks, audiobooks, and comics, has real metadata fallbacks now that Goodreads has gone dark, and the linuxserver image is actively maintained. It’s not as pretty as Readarr was, but it doesn’t ghost you when an upstream API dies.
Readarr is now a “keep it running if you already have it” proposition. The project is officially retired and the official metadata server is dead. If you’re committed to it, you’ll be leaning on a third-party mirror like rreading-glasses — go in with eyes open, have a manual import workflow ready, and keep Calibre as your safety net. For most people, the long-term move is migrating off it.
Either way: pair your book manager with Audiobookshelf for audiobook playback, Calibre-Web for ebook serving, and Prowlarr for indexers. That four-container stack — book manager + Audiobookshelf + Calibre-Web + Prowlarr — covers everything from automated downloading through polished playback.
Your 2 AM self, staring at an unread 14-book fantasy series that’s currently scattered across six directories in three formats, will appreciate the effort.