Seerr¶
Seerr is a free and open source software application for managing requests for your media library. It integrates with the media server of your choice: Jellyfin, Plex, and Emby. In addition, it integrates with your existing services, such as Sonarr, Radarr.
Docker Installation (recommended)¶
Info
An alternative Docker image is available on Docker Hub for this project. You can find it at Docker Hub Repository Link
Our Docker images are available with the following tags:
latest: Always points to the most recent stable release.- Version tags (e.g.,
v3.0.0): For specific stable versions. - Major/minor tags (e.g.,
v3,v3.0): The latest release in that series. develop: Rolling release/nightly builds for using the latest changes (use with caution).
Docker Compose¶
This is the block from my stack compose:
services:
seerr:
image: ghcr.io/seerr-team/seerr:v3.5.0 # pinned; Renovate bumps it
init: true
container_name: seerr
environment:
# Not a LinuxServer.io image: it runs as the `node` user (UID 1000) and ignores PUID/PGID.
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
- LOG_LEVEL=debug
- PORT=5055 # Optional
volumes:
- ${APPDATA_PATH}/seerr/config:/app/config
- ${MEDIA_DATA}:/data #Access to the entire data
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:5055/api/v1/status || exit 1
start_period: 20s
timeout: 3s
interval: 15s
retries: 3
ports:
- 5055:5055
restart: always
Hardening
Upstream's example also adds security_opt: [no-new-privileges] and cap_drop: [ALL].
Seerr runs fine with both because it never needs root.
# Create the appdata folder
mkdir -p /path/to/appdata/seerr/config
# Chown the folder as the container runs as the `node` user (UID 1000).
chown -R 1000:1000 /path/to/appdata/seerr/config
docker compose up -d
Connecting Plex, Radarr and Sonarr¶
- Plex: Plex runs with host networking, so point Seerr at the host's LAN address
(
<YOUR_SERVER_IP>:32400), not a container name. If that address ever changes, update it under Settings → Plex; a stale address just makes library scans fail quietly. - Radarr / Sonarr: on the same compose network, use the service names
(
http://radarr:7878,http://sonarr:8989) and each app's API key. - Healthcheck:
/api/v1/statusanswers without auth. If Seerr goes unhealthy after a reboot, check DNS inside the container first; see Containers can't resolve names after a reboot.