Skip to content

Decision: Stack Health Audit - Service Maintenance Status & Readarr Retirement

Date: 2025-12-29 Status: Accepted Deciders: User, deep-thinker agent Consulted: Web research (GitHub, Servarr Wiki, LinuxServer.io)

Context

User noticed Readarr in the docker-compose stack and questioned whether it was deprecated/EOL. This prompted a comprehensive audit of all services in the stack to identify:

  1. Deprecated or retired services requiring replacement
  2. Services with questionable maintenance status
  3. Configuration issues (specifically Prowlarr category sync for Mylar)
  4. Security concerns from running unmaintained software

Executive Summary

CRITICAL FINDING: Readarr was officially retired on June 27, 2025. The current pinned image (linuxserver/readarr:develop-0.4.18.2805-ls157) is unmaintained and should be replaced.

Stack Health: 26 of 27 services are actively maintained. Only Readarr requires immediate action.

Category Configuration Issue: The Prowlarr-to-Mylar category sync using 7030 may be causing 0 search results. Analysis suggests using broader category 7000 (all Books) is more reliable.


Service Audit Results

TIER 1: DEPRECATED/RETIRED - IMMEDIATE ACTION REQUIRED

ServiceStatusActionAlternative
ReadarrRETIRED (June 27, 2025)REPLACE IMMEDIATELYBookshelf (fork) or rreading-glasses

Details - Readarr Retirement:

  • GitHub repository archived on June 27, 2025 (read-only)
  • LinuxServer.io deprecated the Docker image
  • Reasons: Metadata service became unusable, lack of developers
  • The pinned version develop-0.4.18.2805-ls157 will receive no security updates

Recommended Replacement - Bookshelf:

yaml
readarr:  # REPLACE WITH:
bookshelf:
  image: ghcr.io/pennydreadful/bookshelf:hardcover  # or :softcover for Goodreads
  container_name: bookshelf
  # ... (same volume/port configuration as Readarr)

Benefits of Bookshelf:

  • Active development (fork maintained by pennydreadful)
  • Hardcover metadata support (better quality than defunct Readarr metadata)
  • Native MyAnonaMouse support without Prowlarr
  • Backward-compatible with existing Readarr databases
  • Removed Servarr analytics

Alternative - rreading-glasses:

  • Drop-in metadata service replacement
  • Works with existing Readarr installation
  • ~7000 daily users as of August 2025
  • Lower migration effort but keeps unmaintained codebase

TIER 2: ACTIVELY MAINTAINED - NO ACTION REQUIRED

ServiceContainerStatusLast ActivityNotes
Sonarrlinuxserver/sonarrActiveDec 2025Core Servarr, funded & maintained
Radarrlinuxserver/radarrActiveDec 2025Core Servarr, funded & maintained
Prowlarrlinuxserver/prowlarrActiveDec 2025Core Servarr indexer manager
Lidarrlinuxserver/lidarrActiveDec 2025v3.1.1.4876 (Nov 2025), metadata server issues noted
Bazarrlinuxserver/bazarrActiveDec 2025Subtitle companion, actively maintained
Whisparrthespad/whisparrActiveNov 2025Adult content *arr, v3 recommended
SABnzbdlinuxserver/sabnzbdActiveDec 2025Primary Usenet downloader
Transmissionlinuxserver/transmissionActiveDec 2025Torrent fallback client
Plexlinuxserver/plexActiveDec 2025Commercial product, well-maintained
Tautullilinuxserver/tautulliActiveDec 2025Plex monitoring
Overseerrlinuxserver/overseerrActiveDec 2025Request management
Recyclarrrecyclarr/recyclarrActiveDec 2025v7.5.2, TRaSH guide sync
Tdarrhaveagitgat/tdarrActiveNov 2025v2.58.02, transcoding automation
Tdarr-nodehaveagitgat/tdarr_nodeActiveNov 2025Secondary transcoding node
Mylar3linuxserver/mylar3ActiveDec 2025Comics, 2025 pull-list updates
Komgagotson/komgaActiveDec 2025v1.23.6, manga/comics server
Komfsndxr/komfActiveDec 2025v1.3.0, metadata fetcher
Kavitajvmilazz0/kavitaActiveDec 2025Ebook reader, beta active dev
Suwayomisuwayomi/suwayomi-serverActiveDec 2025Manga reader, Tachiyomi extensions
Audiobookshelfadvplyr/audiobookshelfActiveDec 2025Audiobook/podcast server
Stashstashapp/stashActiveDec 2025Adult content organizer
Portainerportainer/portainer-ceActiveDec 2025Container management
Uptime Kumalouislam/uptime-kumaActiveDec 2025Monitoring
Netdatanetdata/netdataActiveDec 2025System monitoring
Sambaservercontainers/sambaActiveDec 2025File sharing
Aria2custom buildN/ALocalDDL client, custom Dockerfile

TIER 3: DISABLED/OPTIONAL SERVICES

ServiceReplicasNotes
NFS Server0Disabled, available if needed
Docs (nginx)0Disabled, local VitePress docs

Prowlarr Category Configuration Analysis

The Problem

User reports Prowlarr syncing category 7030 (Books/Comics) to Mylar returns 0 search results.

Root Cause Analysis

Newznab Category Hierarchy (7000 - Books):

Category IDNameDescription
7000BooksParent category (all books)
7010Books/EbookGeneral ebooks
7020Books/ComicsComics specifically
7030Books/MagazinesMagazines
7040Books/TechnicalTechnical books
7060Books/ForeignNon-English books

CRITICAL INSIGHT: The standard Newznab spec defines 7020 as Comics, NOT 7030.

Some indexer implementations vary:

  • Older Newznab: 7030 = Comics (non-standard)
  • Modern Newznab: 7020 = Comics (standard)
  • Some indexers: Don't categorize comics at all, put them in 7010 (Ebook)

Option A (Broader search - Recommended):

Prowlarr -> Mylar sync categories: 7000

This includes ALL book subcategories, catching comics regardless of how indexers categorize them.

Option B (Specific categories):

Prowlarr -> Mylar sync categories: 7020,7010

Includes both Comics (7020) and Ebooks (7010) to catch miscategorized items.

Manga-Specific Considerations

Manga has no dedicated Newznab category. Manga content appears in:

  • 7020 (Comics) - when treated as comic format
  • 7010 (Ebook) - when treated as digital publication
  • 5070 (TV/Anime) - if it's anime video content

For manga acquisition via Usenet:

  1. Use Mylar3 with category 7000 (broadest coverage)
  2. Configure multiple indexers in Prowlarr
  3. Consider Suwayomi for scanlation sources (already in stack)
  4. Torrent fallback via Transmission for rare content

Security Considerations

Running Unmaintained Software Risks

Readarr (CRITICAL):

  • No security patches since June 2025
  • Known vulnerabilities will remain unpatched
  • API keys and credentials stored in unmaintained codebase
  • Potential attack vector if exposed to network

Mitigation Actions:

  1. Replace Readarr with Bookshelf immediately
  2. If delayed, isolate container network access
  3. Review firewall rules for port 8787
  4. Rotate API keys after migration

General Security Notes

All other services are actively maintained. Key security practices:

  • Keep images updated (docker compose pull)
  • Use LinuxServer.io images when available (security-focused)
  • Avoid exposing *arr services to public internet without auth proxy

Implementation Plan

Phase 1: Readarr Replacement (Priority: CRITICAL)

Timeline: Immediate (within 1 week)

  1. Backup Readarr database:

    bash
    cp -r ${CONFIG_ROOT}/readarr ${CONFIG_ROOT}/readarr-backup-$(date +%Y%m%d)
  2. Update docker-compose.yml:

    yaml
    bookshelf:
      <<: *network_tweaks
      image: ghcr.io/pennydreadful/bookshelf:hardcover
      container_name: bookshelf
      hostname: bookshelf
      environment:
        - PUID=1000
        - PGID=1000
        - TZ=Etc/UTC
      volumes:
        - ${CONFIG_ROOT:-/srv/usenet/config}/readarr:/config:rw,z  # Uses existing config
        - ${DOWNLOADS_ROOT:-/srv/usenet/downloads}:/downloads:rw,z
        - ${EBOOKS_ROOT:-/srv/usenet/books/eBooks}:/books:rw,z
        - ${BOOKS_ROOT:-/srv/usenet/books}:/books-all:rw,z
        - ${POOL_ROOT:-/var/mnt/pool}:/pool:rw,z
      ports:
        - 8787:8787
      restart: unless-stopped
      # ... (same resource limits)
  3. Test migration:

    bash
    docker compose up -d bookshelf
    # Verify web UI at http://localhost:8787
    # Check existing library imports correctly
  4. Update Prowlarr application sync (if configured)

Phase 2: Prowlarr Category Fix (Priority: HIGH)

Timeline: After Readarr replacement

  1. Open Prowlarr UI: http://localhost:9696
  2. Navigate to Settings -> Apps -> Mylar
  3. Update sync categories from 7030 to 7000 (or 7020,7010)
  4. Test search in Mylar for a known comic title

Phase 3: Ongoing Maintenance (Priority: MEDIUM)

Monthly tasks:

  • docker compose pull to update images
  • Check GitHub releases for breaking changes
  • Monitor Servarr Wiki for deprecation notices

Validation Criteria

  • [ ] Readarr container replaced with Bookshelf
  • [ ] Existing ebook library accessible in Bookshelf
  • [ ] Bookshelf connected to SABnzbd/Transmission
  • [ ] Prowlarr syncing categories correctly to Mylar
  • [ ] Mylar searches return results for comics
  • [ ] No unmaintained containers in docker ps

References

Readarr Retirement

Bookshelf (Readarr Fork)

rreading-glasses (Alternative)

Newznab Categories

Prowlarr + Mylar Integration

Service Status Pages


Appendix: Complete Service Inventory

Total Services in docker-compose.yml: 27

By Category:

  • Media Automation (*arr): Sonarr, Radarr, Prowlarr, Lidarr, Bazarr, Whisparr, Readarr Bookshelf, Mylar3, Recyclarr
  • Download Clients: SABnzbd, Transmission, Aria2
  • Media Servers: Plex, Stash
  • Book/Comic Readers: Komga, Kavita, Suwayomi, Audiobookshelf
  • Metadata: Komf
  • Transcoding: Tdarr, Tdarr-node
  • Request/Monitoring: Overseerr, Tautulli, Uptime Kuma, Netdata
  • Infrastructure: Portainer, Samba, NFS Server (disabled), Docs (disabled)

Document Version: 1.0.0 Last Updated: 2025-12-29 Next Review: 2026-03-29 (quarterly)

Built with ❤️ following Bell Labs standards. Dedicated to Stan Eisenstat.