Recyclarr
v1.0.0Scheduled synchronization of Sonarr and Radarr quality definitions.
x-arcane:
icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/recyclarr.svg
urls:
- https://recyclarr.dev/guide/installation/docker/
services:
recyclarr:
image: ghcr.io/recyclarr/recyclarr:8
restart: unless-stopped
user: "${PUID:-1000}:${PGID:-1000}"
environment:
TZ: ${TZ:-Etc/UTC}
CRON_SCHEDULE: ${CRON_SCHEDULE:-@daily}
volumes:
- ${BASE_PATH}/config:/config
configs:
- source: recyclarr-config
target: /config/recyclarr.yml
labels:
com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/recyclarr.svg
configs:
recyclarr-config:
content: |
sonarr:
series:
base_url: ${SONARR_URL:?Set SONARR_URL}
api_key: ${SONARR_API_KEY:?Set SONARR_API_KEY}
quality_definition:
type: series
radarr:
movies:
base_url: ${RADARR_URL:?Set RADARR_URL}
api_key: ${RADARR_API_KEY:?Set RADARR_API_KEY}
quality_definition:
type: movie
BASE_PATH=/data/compose/recyclarr
CRON_SCHEDULE=@daily
SONARR_URL=http://your-sonarr-host:8989
SONARR_API_KEY=replace-with-your-32-character-sonarr-api-key
RADARR_URL=http://your-radarr-host:7878
RADARR_API_KEY=replace-with-your-32-character-radarr-api-key
PUID=1000
PGID=1000
TZ=Etc/UTC
README
Scheduled synchronization of Sonarr and Radarr quality definitions.
Deployment
Copy .env.example to .env (or enter its values in Arcane), set paths and credentials, and deploy compose.yaml. This service has no published web port. Use reachable hostnames or host IPs for services in other Compose projects; localhost inside a container refers to that container.
Set reachable SONARR_URL, RADARR_URL, and their API keys before deployment. The inline Compose config provides series/movie quality-size definitions without requiring a separate config file. Compose 2.23.1 or newer is required for configs.content. Create ${BASE_PATH}/config writable by PUID:PGID. Back up Arr settings, then run docker compose run --rm recyclarr sync --preview to inspect changes. The running service synchronizes daily (configurable with CRON_SCHEDULE). This changes quality definitions; it creates no deletion rules. Edit the inline config to add desired profiles and custom formats. Credentials live in .env and must be protected.