Cleanuparr
v1.0.0Configurable download queue cleanup for Arr applications and download clients.
x-arcane:
icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/cleanuparr.png
urls:
- https://cleanuparr.github.io/docs/installation/detailed/
services:
cleanuparr:
image: ghcr.io/cleanuparr/cleanuparr:latest
restart: unless-stopped
ports:
- "${APP_PORT:-11011}:11011"
environment:
TZ: ${TZ:-Etc/UTC}
PUID: ${PUID:-1000}
PGID: ${PGID:-1000}
volumes:
- ${BASE_PATH}/config:/config
- ${DATA_PATH}:/data
labels:
com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/cleanuparr.png
APP_PORT=11011
BASE_PATH=/data/compose/cleanuparr
DATA_PATH=/data/media
PUID=1000
PGID=1000
TZ=Etc/UTC
README
Configurable download queue cleanup for Arr applications and download clients.
Deployment
Copy .env.example to .env (or enter its values in Arcane), set paths and credentials, and deploy compose.yaml. Open http://HOST:APP_PORT (default 11011). Use reachable hostnames or host IPs for services in other Compose projects; localhost inside a container refers to that container.
Complete authentication setup and connect your Arr instances and download clients in the web interface. This template supplies no removal, purge, blocklist, or automatic search rules. Review categories and exclusions before enabling cleanup; use dry-run settings where supported. /data gives the application access to the shared tree only when you configure filesystem operations.
Shared media paths
DATA_PATH=/data/media mounts the same host directory at /data. Use /data/downloads for downloads, /data/tv, /data/movies, and /data/music for libraries. Create these directories and grant the configured UID/GID access before deployment. Keep every participating application on the same host and container paths so imports and hardlinks work.
The existing Sonarr and Radarr templates use /tv or /movies and /downloads, and their default downloads host directory is /data/downloads. To adopt this layout, add ${DATA_PATH}:/data to those deployments and update their root folders and download client paths. Alternatively, change this deployment's media mounts to exactly match their existing host and container paths. Do not point two different host directories at what appears to be the same downloads path. Bazarr needs matching library paths or explicit path mappings.