-
Notifications
You must be signed in to change notification settings - Fork 1
FAQ
🏠 Home › FAQ
Short answers to common questions. For anything not here, see Troubleshooting.
A self-hosted web app that keeps a Plex library tidy. Point it at Radarr, Sonarr, Lidarr, and Plex and it handles the chores — renaming posters, finding duplicates, applying borders, searching upgrades, cleaning orphaned files, and more. See Home.
Same module set, different direction. CHUB is a fork of DAPS with a refreshed UI, live status updates, inline metadata editing with an audit trail, duplicate resolution, and tightened security. See Credits.
Your config.yml carries over — CHUB auto-migrates a DAPS config to its own schema on first load (it backs up the original as config.yml.legacy-<timestamp>.yml; see Configuration → auto-migration). There's no data/database migration, though — match state, applied-poster history, and hashes start fresh. So point CHUB at your DAPS config.yml (verify the paths still resolve inside the new container), but expect modules to rebuild their state on first run. Your DAPS install keeps running on its own image if you want both side-by-side during cut-over.
Not directly. It's built for a private network (LAN or VPN). It has login and rate limiting but isn't hardened against a determined attacker. For remote access, put it behind a reverse proxy with TLS plus a second auth layer (Authelia, Authentik, Cloudflare Access).
See Troubleshooting → Reset the admin password for the full procedure.
See the First-Run walkthrough.
Yes. Use nestarr to move items between split libraries by ARR path mapping, and configure each Plex library separately under instances.plex. poster_renamerr also takes a library_names list to scope each Plex instance.
Yes, via upgradinatorr — full album search, artist grouping, and all three modes (upgrade, missing, cutoff). There's no dedicated Lidarr UI since Lidarr covers music browsing itself. Open an issue if you want a Lidarr-specific workflow.
Dashboard → New run, pick the module, Run. See UI Guide.
Settings → Jobs, click the running job, Cancel. Most stop within seconds; border_replacerr and parts of plex_maintenance run to completion — see Troubleshooting → Cancel doesn't stop a module.
Everything lives under the folder you mount to /config:
-
config.yml— settings -
chub.db— database (users, jobs, media, poster index, edit history) -
logs/— per-module log files -
backups/— backup zips
Your poster and media trees live on the volumes you mount separately.
-
UI: Settings → Backup → Create backup — downloads a zip and keeps a copy under
backups/. - Filesystem: stop the container, copy the whole config folder, start it again.
docker compose pull
docker compose up -dSchema changes apply automatically on startup — no manual migrations.
Yes. Multi-instance support is optional — configure only what you run.
No separate key. For inbound webhooks from Sonarr/Radarr/Tautulli, set general.webhook_secret (see Webhooks). To script against CHUB itself, see the Developer Guide.
No — they solve different problems. Kometa manages Plex metadata and collections; CHUB manages poster file trees and media-asset chores. poster_renamerr is designed to consume Kometa's asset output. See Kometa Integration.
No. poster_renamerr matches against the metadata your *arr holds (title, year, TVDb/TMDb/IMDb id, season), pulled from the API — not parsed from disk. To improve matching, fix the poster set's filenames, not your media folders. See Modules → poster_renamerr.
Yes. Just don't configure or schedule them — an unconfigured module does nothing when triggered. See Modules.
The image runs as dockeruser with UID/GID from PUID/PGID (default 100/99, matching Unraid; most Linux hosts want 1000/1000). Mount paths must be writable by that UID/GID. See Installation.
See the Developer Guide for the contributing checklist and local dev setup.
Next: Credits · Related: Troubleshooting, Modules