Jellyseerr Docker Compose (Requests for Radarr + Sonarr)
A ready-to-run docker-compose service for Jellyseerr — the streaming-style request page that hands approved titles straight to Radarr and Sonarr.
yaml# docker-compose service for Jellyseerr — the request/discovery front end
# for the arr stack. It only orchestrates Radarr/Sonarr; it downloads
# nothing itself. Add this beside your existing arr services.
services:
jellyseerr:
image: fallenbagel/jellyseerr:latest
container_name: jellyseerr
environment:
- TZ=America/New_York # your timezone
- PORT=5055
ports:
- "5055:5055"
volumes:
- /opt/jellyseerr:/app/config
restart: unless-stopped
What this does
Runs Jellyseerr, the request-and-discovery front end for the Arr stack. Household members browse a streaming-style catalogue, tap Request, and on approval Jellyseerr hands the title to Radarr or Sonarr, which do the actual searching and downloading. Jellyseerr never downloads anything itself. The full walkthrough — media-server sign-in, service wiring, approvals, and quotas — is in Jellyseerr: Let Your Family Request Movies Themselves.
Prerequisites
- Docker + Docker Compose (install guide)
- A working Arr stack — Radarr and Sonarr running and reachable
- A Plex or Jellyfin server to sign in with
Deploy
Add the service above to your existing media docker-compose.yml, then:
docker compose up -d jellyseerr
docker compose logs -f jellyseerr
Open http://<host-ip>:5055 for the setup wizard: sign in with Plex or Jellyfin, import your libraries, then under Settings → Services add Radarr and Sonarr with the same root folder and quality profile you’d use adding a title by hand.
Notes
- Make these values your own before running:
TZ(your timezone),/opt/jellyseerr(host config path),<host-ip>(the LAN IP of the machine running the stack), and the Radarr/Sonarr API keys you enter in the wizard (keep them in your secret store, never in a note). If a value looks specific to one machine, it’s a placeholder to change — not a literal to copy. - Match the root folder and quality profile exactly. The most common failure is a request that’s “approved” but never downloads — Jellyseerr added it with a root folder or profile your indexers can’t satisfy. Use the same values that work for manual adds.
- Put it behind a reverse proxy. This is the one service non-technical people will use; a clean HTTPS name via Traefik beats a
host:5055URL. - Approvals are per user or role. Auto-approve trusted adults, leave kids on manual, and set request quotas so one person can’t queue hundreds of titles overnight.