Skip to content

First Run

chodeus edited this page Jun 17, 2026 · 6 revisions

🏠 Home › First Run

First Run

The path from an empty config to a working install. A fresh CHUB install boots straight into a guided setup wizard — you can't reach the app until you finish it. The steps below follow that wizard, then cover what to do once it's done.

On this page

The setup wizard

On first launch, open http://localhost:8000 (or http://<your-host>:8000). CHUB sends a fresh install to the wizard at /setup and won't let you into the app until the required steps are done. Already-configured installs skip the wizard automatically.

The wizard has eight steps:

# Step Required?
1 Welcome
2 User account Required
3 Media Server (Plex) At least one of Plex / *arr
4 *arr Instances (Radarr/Sonarr/Lidarr) At least one of Plex / *arr
5 TMDB API key Required
6 Poster Sync (Google Drive) Optional
7 Notifications Optional
8 Review → Finish

To finish you need: an admin account, a valid TMDB key, and at least one Plex or *arr instance. Google Drive and Notifications can be skipped and added later under Settings.

1. Create your admin account

Enter a username and password (minimum 8 characters). Pick a strong password — there's no email-based reset. If you lose it, see Troubleshooting → Reset the admin password.

2. Connect Plex and your *arr instances

Add each service CHUB should talk to. Each entry is tested before it's saved.

For each Radarr / Sonarr / Lidarr:

Field Value
URL An address CHUB can reach from inside its container — e.g. http://radarr:7878 if both share a Docker network, otherwise a host/LAN IP like http://192.168.1.10:7878.
API key The ARR's Settings → General → Security → API Key.

For Plex:

Field Value
URL http://plex:32400 (or wherever Plex runs).
API key Your X-Plex-Token. How to find it.

Gotcha: localhost inside the container is the container itself, not your host. Use a service name (shared Docker network) or a LAN IP for instance URLs.

You can manage these later at Settings → Instances, where every row has a Test button.

3. Add your TMDB API key

Paste a free TMDB API key. CHUB uses it to resolve missing TMDB ids — which improves poster matching, Plex cross-referencing, and the request links on the Unmatched/Statistics pages. This step is required to finish the wizard.

4. Poster sync (optional)

Connect a Google Drive poster source if you pull artwork from a shared Drive. This configures the sync_gdrive module. Skip it if you don't use Google Drive.

5. Notifications (optional)

Wire Discord or Notifiarr if you want run notifications. Per-service setup: Configuration → notifications. Skip and add later under Settings → Notifications.

6. Review & finish

Review your choices and click Finish. CHUB marks setup complete (general.setup_completed: true) and drops you on the dashboard. The wizard won't show again.

After the wizard

The wizard gets you connected; these finish the job.

Enable modules

Settings → Modules has one page per module — enable the ones you want and fill in their config. See Modules for what each does. Common starting points:

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

Schedule

Settings → Schedule — attach a cron or interval to each module. Modules with no schedule are manual-only (run from the dashboard or via webhook).

Module Starting schedule
poster_renamerr Every 4h
jduparr Every 12h
upgradinatorr Daily
health_checkarr Every 6h

Webhooks

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

Smoke test

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


Next: Modules · Related: Configuration, Kometa Integration

Clone this wiki locally