#ReadAIrr Installation
ReadAIrr currently ships from the ReadAIrr/App repository. The maintained installation path in the current app checkout is the first-party Docker Compose deployment under deploy/.
ReadAIrr is a renamed fork of Readarr. Some inherited executable names, config keys, app-data paths, and API labels still say
Readarrbecause the current app repo still uses those compatibility names internally. {.is-info}
#Current App Facts
- The app repository is
https://github.com/ReadAIrr/App. - The public container image is
ghcr.io/readairr/app. - Public branch tags are
dev,val, andprod. devis published from thedevbranch.valis published from thevalbranch for validation builds.prod,latest,1, and1.0are published from theprodbranch.v*git tags publish matching container tags.- Pull requests build the image but do not publish it.
- The app listens on port
8787inside the container. - The example deployment maps the host port from
READARR_PORT; the sample env uses8789. - The runtime app name, app-data directory, environment-variable prefix, and many script variables are still inherited as
Readarr/READARR. - New installs default to the hosted Goodreads-compatible metadata source at
https://api.bookinfo.pro. - The current app deploy files do not create a bundled
rreading-glassessidecar. A customrreading-glassesservice is supported only when you deploy it separately.
#Recommended Docker Deployment
Use the Compose files from the app repository:
Typical flow:
Copy
deploy/readarr.env.exampleto a host-local env file such as/etc/readarr/readarr.env.Set
READARR_IMAGE, storage paths, host port, UID/GID, timezone, and any optional NFS settings.Run the installer from the app checkout:
sudo ./deploy/install-host.sh /etc/readarr/readarr.env
The installer validates Docker and Docker Compose v2, creates the config/media/download directories, optionally adds the NFS mounts, then runs docker compose pull and docker compose up -d.
#Required Deployment Variables
The app deploy script requires these values either directly or through the sample defaults:
| Variable | Purpose |
|---|---|
READARR_IMAGE |
Container image, usually ghcr.io/readairr/app:prod for normal installs, ghcr.io/readairr/app:val for validation, or ghcr.io/readairr/app:dev for active development |
READARR_CONFIG_DIR |
Host path mounted to /config |
READARR_MEDIA_DIR |
Host path mounted to audiobook library paths inside the container |
READARR_DOWNLOADS_DIR |
Host path mounted to /downloads |
READARR_UID |
UID used by Docker Compose's user: setting |
READARR_GID |
GID used by Docker Compose's user: setting |
READARR_PORT |
Host port mapped to container port 8787 |
READARR_BIND_ADDRESS |
Host bind address, defaulting to 0.0.0.0 |
TZ |
Container timezone |
UMASK |
File creation mask |
READARR_POSTGRES_PASSWORD |
Password for the same-VM Postgres service used by the first-party Compose stack |
The first-party image does not use the common third-party PUID / PGID convention. The provided Compose file sets the container user with READARR_UID and READARR_GID.
#Metadata Source
After the app starts, open Settings => Development and confirm the metadata source.
Goodreads hosteduseshttps://api.bookinfo.proand is the current default.Hardcover hosteduseshttps://hardcover.bookinfo.pro.Custom rreading-glasses URLlets you point at an externally managed compatible service.
Use Test Metadata Source before saving a custom URL. The current Compose stack does not publish a rreading-glasses container for you, so http://rreading-glasses:8788 works only if you provide that service on the same Docker network or another reachable route.
#Native Installers
Native Windows, Linux, macOS, and FreeBSD installer pages from the original Readarr wiki are not maintained in this ReadAIrr docs set yet. Use the container deployment above unless a current ReadAIrr release package exists for your platform.