Skip to content
chodeus edited this page Jun 17, 2026 · 7 revisions

🏠 Home › FAQ

FAQ

Short answers to common questions. For anything not here, see Troubleshooting.

What is CHUB?

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.

How is it different from DAPS?

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.

Can I migrate my DAPS install to CHUB?

No — it's a clean break with no data migration. Pull ghcr.io/chodeus/chub:latest into a fresh config directory and reconfigure. Your DAPS install keeps running on its own image if you want both side-by-side during cut-over.

Is CHUB safe to expose on the public internet?

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).

How do I reset the admin password?

See Troubleshooting → Reset the admin password for the full procedure.

How do I connect my Radarr / Sonarr / Lidarr / Plex instances?

See the First-Run walkthrough.

Does CHUB work with a 4K-split Plex library?

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.

Does CHUB support Lidarr?

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.

How do I run a module now instead of waiting for the schedule?

Dashboard → New run, pick the module, Run. See UI Guide.

How do I stop a running module?

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.

Where does CHUB keep its data?

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.

How do I back it up?

  1. UI: Settings → Backup → Create backup — downloads a zip and keeps a copy under backups/.
  2. Filesystem: stop the container, copy the whole config folder, start it again.

How do I update?

docker compose pull
docker compose up -d

Schema changes apply automatically on startup — no manual migrations.

Can I use CHUB with just one ARR instance?

Yes. Multi-instance support is optional — configure only what you run.

Does CHUB have an API key for integrations?

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.

Do I need both Kometa and CHUB?

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.

Does my media folder/file naming affect poster matching?

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.

Can I disable modules I don't use?

Yes. Just don't configure or schedule them — an unconfigured module does nothing when triggered. See Modules.

What's the container user / permissions model?

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.

How do I contribute?

See the Developer Guide for the contributing checklist and local dev setup.


Next: Credits · Related: Troubleshooting, Modules

Clone this wiki locally