Because one "r" was never enough.
readarr-rresurrected is a fully working fork of Readarr that brings the project back to life after its retirement in early 2025. It bundles a self-hosted metadata service directly inside the container, replacing the defunct cloud API with a solution that requires no external dependencies and no second container.
In early 2025, the Servarr team announced Readarr's retirement:
"The retirement takes effect immediately... the project's metadata has become unusable, we no longer have the time to remake or repair it."
The core problem: Readarr depended entirely on a Goodreads-backed cloud metadata API. When Goodreads shut down its public API, the data pipeline broke and the project had no path forward. Authors couldn't be searched, books couldn't be found, and existing libraries couldn't refresh.
The community didn't give up. @blampe built rreading-glasses, a self-hostable metadata proxy that replicated the original API surface by scraping Goodreads directly. It kept Readarr alive for many users — but required running a second service, understanding how to configure the metadata URL, and keeping both containers in sync.
readarr-rresurrected takes this further: it bakes the metadata service directly into Readarr's container, pre-configures the connection, and ships a single image that just works.
MyAnonamouse (MAM) is included as a built-in indexer option. Several bugs present in the upstream implementation have been fixed, making it fully functional out of the box.
services:
readarr:
image: ricetim/readarr-rresurrected:latest
container_name: readarr
user: "1000:1000"
ports:
- "8787:8787"
volumes:
- readarr-config:/config
environment:
- GOOGLE_BOOKS_API_KEY= # optional — improves ebook edition data
restart: unless-stopped
volumes:
readarr-config:docker compose up -d
# Open http://localhost:8787docker run -d \
--name readarr \
-p 8787:8787 \
-v readarr-config:/config \
--user 1000:1000 \
ricetim/readarr-rresurrected:latest| Variable | Default | Description |
|---|---|---|
GOOGLE_BOOKS_API_KEY |
(empty) | Optional. Improves ebook edition discovery for books with incomplete Goodreads records. Get a key. |
READARR_API_KEY |
(empty) | Optional. Set to your Readarr API key to enable the bookinfo → Readarr refresh webhook (auto-refresh when background pagination completes). |
READARR_URL |
(empty) | Optional. Set to http://localhost:8787 when using the webhook above. |
BOOKINFO_GR_RATE |
3 |
Seconds between Goodreads page requests. Increase if you see rate-limit errors. |
BOOKINFO_BATCH_SIZE |
20 |
Works fetched per batch during background pagination. |
| Path | Description |
|---|---|
/config |
All persistent data: database, logs, config.xml. Always mount this. |
| Port | Description |
|---|---|
8787 |
Readarr web UI and API |
bookinfobinds to127.0.0.1:28202inside the container and is not exposed externally.
git clone https://github.com/ricetim/readarr-rresurrected.git
cd readarr-rresurrected
docker compose build
docker compose up -dBackend:
dotnet restore src/Readarr.sln
dotnet build src/Readarr.sln -p:Configuration=Debug -p:Platform=Posix --no-restoreFrontend:
yarn install
yarn start # dev server with hot reloadbookinfo:
cd bookinfo
pip install -r requirements.txt
uvicorn app:app --host 127.0.0.1 --port 28202 --workers 1Run Readarr:
_output/net6.0/Readarr --nobrowser --data=/tmp/readarr-dataThis fork is database-compatible with ghcr.io/faustvii/readarr and hotio/readarr. One migration runs automatically on first start (adds a Kca column to AuthorMetadata for Amazon KCA IDs).
- Stop your existing Readarr container
- Mount the same
/configvolume with this image - Start — migration runs automatically, all settings and history are preserved
PostgreSQL support is untested in this fork. SQLite is recommended.
- Series data can be incomplete for some authors depending on how Goodreads represents the series relationship
- Large author catalogs (500+ books) may take several minutes to fully paginate due to Goodreads rate limits
- Scheduled refreshes re-fetch all works; incremental refresh (only new/changed works) is not yet implemented
- Google Books supplement requires a valid API key to fill in ebook editions missing from Goodreads
Found a bug? Have a feature request? Open an issue — contributions are welcome.
This project stands on the shoulders of a lot of excellent prior work:
- The Servarr Team and all Readarr contributors — built the entire application over 10,000+ commits spanning more than a decade
- @blampe — created rreading-glasses, the community metadata proxy that proved the Goodreads scraping approach was viable and kept Readarr alive for many users while the upstream was in decline; the name rresurrected is a nod to the double-r naming convention he established
- @faustvii — maintained faustvii/readarr, the most widely used community Docker image for Readarr after the official images stopped being updated
- The Goodreads GraphQL API — the underlying data source that makes author and book metadata possible
GNU GPL v3 — © 2010–2022 The Servarr Team. Fork maintained by @ricetim.