Skip to content

First Run

chodeus edited this page Apr 20, 2026 · 1 revision

First Run

Once CHUB is up, this is the path from empty config to a working install.


1️⃣ Create your admin user

Open http://localhost:8000 (or http://<your-host>:8000 from another machine). CHUB's first-run page asks for a username and password (minimum 8 characters).

Pick a real password — lose it and you'll need to reset CHUB's auth (see below). There's no "forgot password" email flow.


2️⃣ Connect your instances

Go to Settings → Instances and add each service you want CHUB to talk to.

For each Radarr / Sonarr / Lidarr:

  • URL — something CHUB can reach from inside its container. http://radarr:7878 if both containers share a Docker network; otherwise an IP on the host/LAN.
  • API key — from the ARR's Settings → General → Security.

For Plex:

  • URLhttp://plex:32400 (or wherever your Plex lives).
  • API key — this is your X-Plex-Token. How to find it.

Click Test on every row. Fix anything that doesn't pass before moving on — later steps assume the instances work.


3️⃣ Global settings

Settings → General — set the log level (info is fine), and — if you plan to expose webhook URLs beyond your LAN — set a webhook_secret.

Settings → Interface — pick a theme (light/dark). You can toggle per-device later.


4️⃣ Enable modules

Settings → Modules — one page per module. Pick the ones you want and fill in their config. See Modules for what each one does and its full config schema. A few common starting points:

  • poster_renamerr if you use Kometa — follow Kometa Integration.
  • upgradinatorr to trigger quality upgrade searches on a schedule.
  • labelarr to mirror ARR tags into Plex.

Leave unused modules alone — they just sit in the sidebar and do nothing.


5️⃣ Schedule

Settings → Schedule — attach a cron or interval to each module you want to run automatically. Modules without a schedule are manual-only (you trigger them from the dashboard or via webhook).

Good starting schedules:

Module Schedule
poster_renamerr Every 4h
jduparr Every 12h
upgradinatorr Daily
health_checkarr Every 6h

6️⃣ (Optional) Notifications

Settings → Notifications — wire Discord, Email, or Apprise per module. Configure them only for modules whose output you actually want delivered.


7️⃣ (Optional) Webhooks

Settings → Webhooks — generates ready-to-paste URLs for Sonarr / Radarr / Tautulli that include your webhook secret. See Webhooks for wiring details.


8️⃣ Smoke test

Go to the dashboard, click New run, pick a module with a safe dry_run: true config, and click Run. Open the log — a clean run with no errors means you're ready to turn dry_run off and let the scheduler take over.


🔑 Resetting the admin password

There's no self-service password reset. Two options:

From the command line (Docker):

docker compose run --rm chub python3 main.py --reset-auth

Restart CHUB. You'll get the first-run form again.

By editing config: stop CHUB, open config/config.yml, delete the entire auth: block, and start CHUB again.

Clone this wiki locally