-
Notifications
You must be signed in to change notification settings - Fork 0
CLI Usage
The continuous scheduler lives in web.py. The CLI entry point, inspectarr.py, is for one-off scans and testing — it runs a single scan and exits.
python3 inspectarr.py --testTests every configured service and exits without scanning anything:
Testing connections from config.yaml
Torrent Client (qbittorrent) OK
Sonarr OK
Radarr OK
Lidarr skipped (not configured)
Prowlarr OK
Ollama (qwen2.5:7b-instruct) OK
All 5 configured service(s) reachable.
These are the same checks that System → Status runs, so the command and the page can never disagree about whether something is reachable.
| Code | Meaning |
|---|---|
0 |
Every configured service answered. |
1 |
At least one configured service did not. |
2 |
The config could not be loaded, or failed validation. |
A config that will not parse is a different problem from a service that will not answer, which is why they are separate codes — useful if you are calling this from a script or a health check.
Services you have switched off report as skipped and do not affect the exit
code. A config with nothing configured at all exits 1 rather than reporting
success at having tested nothing.
--test is safe to run at any time, including against a running install
mid-scan: it opens no database and starts nothing.
python3 inspectarr.py # run a single scan, then exit
python3 inspectarr.py --config /path # use an alternate config file
python3 inspectarr.py --dry-run # force dry run regardless of config
python3 inspectarr.py --retry-now # flush the retry queue first, then scan
python3 inspectarr.py --daemon # continuous scan loop (poll_interval_seconds)| Flag | Effect |
|---|---|
--config <path> |
Load config from a non-default location |
--dry-run |
Override dry_run to true for this run — log matches, take no action |
--retry-now |
Process any due entries in the retry queue before running the scan |
--daemon |
Run a continuous scan loop instead of single-shot, with graceful SIGINT/SIGTERM handling. Also processes retries and quarantine timeouts each cycle, exactly as the web scheduler does. |
If Inspectarr is running as a container, you can run a single CLI scan against it without disturbing the daemon:
docker exec inspectarr python inspectarr.py --dry-run- Web UI / scheduler — normal operation. Set it and forget it; the daemon scans on your interval.
-
CLI — testing a config change, validating a new rule with
--dry-run, or forcing a retry flush. Use--daemonfor a headless continuous loop without the web UI.