Fix PUID/PGID collision issues by using gosu to run services with exact UID:GID. Changes include: - Added redis-start.sh and updated app-start.sh to load /etc/environment, determine PUID/PGID, and invoke gosu "$PUID:$PGID" to start Redis and the Next.js app (with verification and fallbacks). - Updated entrypoint.sh to persist PUID/PGID into /etc/environment, document the gosu approach, and adjust startup messaging. - Updated supervisord.conf to run the new startup wrappers as root (so they can use gosu) instead of running processes directly as specific users. - Dockerfile updated to install gosu and copy the redis-start.sh wrapper. - Documentation updated (deployment/unified.md) describing the PUID collision bug, the root cause, and the gosu-based fix. This resolves cases where PUID collides with existing system users (e.g., nobody) which previously caused processes to run with the wrong GID and produce EACCES errors.
Audiobook automation for Plex and Audiobookshelf
Radarr/Sonarr + Overseerr for audiobooks, all in one
Features • Setup • Screenshots • Discord
What is this?
You run Plex or Audiobookshelf with audiobooks. You want more audiobooks. You search indexers, download torrents or NZBs, organize files, wait for your server to scan. ReadMeABook does all of that automatically.
Request a book → Prowlarr searches → qBittorrent or SABnzbd downloads → Files organized → Library imports. Done.
Also includes BookDate: AI recommendations with a Tinder-style swipe interface. Swipe right to request.
User friendly audible-backed searches, multi-file chapter merging, e-book sidecar support, OIDC OAuth, admin approval workflows, and more.
Features
- Plex or Audiobookshelf
- Torrents via qBittorrent
- Usenet via SABnzbd
- Prowlarr for indexer search (torrents + NZBs)
- BookDate: AI recommendations (OpenAI/Claude/Local) with swipe interface
- Chapter merging: Multi-file downloads → single M4B with chapters
- E-book sidecar: Optional EPUB/PDF downloads from Shadow Library
- Request approval: Admin approval workflow for multi-user setups
- Setup wizard: Step-by-step guided config with connection testing
Setup
Prerequisites: Docker, Plex or Audiobookshelf, qBittorrent or SABnzbd, Prowlarr
services:
readmeabook:
image: ghcr.io/kikootwo/readmeabook:latest
container_name: readmeabook
restart: unless-stopped
ports:
- "3030:3030"
volumes:
- ./config:/app/config
- ./cache:/app/cache
- ./downloads:/downloads # Your download client's path
- ./media:/media # Your audiobook library
- ./pgdata:/var/lib/postgresql/data
- ./redis:/var/lib/redis
environment:
PUID: 1000 # Optional: your user ID
PGID: 1000 # Optional: your group ID
PUBLIC_URL: "https://audiobooks.example.com" # Required for OAuth
docker compose up -d
Open http://localhost:3030 and follow the setup wizard.
Screenshots
Community
Join the Discord: https://discord.gg/kaw6jKbKts
Feature and fix Contributions are highly welcome. Documentation in documentation/ if you want to contribute. Discord is a great place to ask questions!
Support
If you find this project useful, consider supporting development via GitHub Sponsors
If you'd like to support but cannot sponsor, a simple star on the GitHub repo is also greatly appreciated!
AGPL v3 License
