Skip to content

Seerr

Seerr Docs

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.



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/status answers without auth. If Seerr goes unhealthy after a reboot, check DNS inside the container first; see Containers can't resolve names after a reboot.

Sources & further reading