Reference
CLI
One binary, two modes. Run nullhub with no arguments and it becomes a server (HTTP plus supervisor threads); run it with a command and it acts as a CLI — direct calls, stdout, exit. Instances are addressed as {component}/{instance-name} everywhere, abbreviated <c>/<n> below.
Server#
| Command | What it does |
|---|---|
nullhub |
Start server and open the browser at the dashboard |
nullhub serve [--host H] [--port N] [--allowed-origin ORIGIN] ... |
Start the server; repeat --allowed-origin to authorize extra CORS origins |
nullhub serve --no-open |
Start the server without opening the browser |
nullhub version (also -v, --version) |
Print version |
The dashboard serves at http://nullhub.localhost:19800 by default, with nullhub.local published via Bonjour/avahi when available and 127.0.0.1 as fallback. Allowed origins can also come from NULLHUB_ALLOWED_ORIGINS as a comma-separated list.
Install and remove#
| Command | What it does |
|---|---|
nullhub install <component> |
Terminal install wizard (manifest-driven; same steps as the web UI) |
nullhub uninstall <c>/<n> |
Remove an instance |
Valid components today: nullclaw, nullboiler, nulltickets, nullwatch.
Lifecycle#
| Command | What it does |
|---|---|
nullhub start <c>/<n> |
Start an instance |
nullhub stop <c>/<n> |
Stop an instance |
nullhub restart <c>/<n> |
Restart an instance |
nullhub start-all |
Start every installed instance |
nullhub stop-all |
Stop every installed instance |
Inspect#
| Command | What it does |
|---|---|
nullhub status |
Table of all instances |
nullhub status <c>/<n> |
Single-instance detail |
nullhub logs <c>/<n> |
Tail logs |
nullhub logs <c>/<n> -f |
Follow logs live |
Updates#
| Command | What it does |
|---|---|
nullhub check-updates |
Check all instances for new versions |
nullhub update <c>/<n> |
Update one instance: download, migrate config, rollback on failure |
nullhub update-all |
Update everything |
See Updates and rollback.
Config#
| Command | What it does |
|---|---|
nullhub config <c>/<n> |
View instance config |
nullhub config <c>/<n> --edit |
Edit instance config |
Raw API access#
nullhub api sends a request to the running server and prints the JSON:
nullhub api GET /api/instances/nullclaw/main/status --pretty
nullhub api GET /api/instances/nullclaw/main/cron --prettyEverything the dashboard does goes through this same API, so anything you can click, you can script.
OS service#
| Command | What it does |
|---|---|
nullhub service install |
Register and start NullHub as a systemd (Linux) or launchd (macOS) service |
nullhub service uninstall |
Remove the OS service |
nullhub service status |
Show OS service status |
Environment variables#
| Variable | Purpose |
|---|---|
NULLHUB_ALLOWED_ORIGINS |
Comma-separated extra CORS origins, merged with --allowed-origin flags |
NULLBOILER_URL |
Target for the /api/nullboiler/* reverse proxy (e.g. http://localhost:8080) |
NULLBOILER_TOKEN |
Optional bearer token for the NullBoiler proxy |
NULLTICKETS_URL |
Target for the /api/nulltickets/store/* proxy |
NULLTICKETS_TOKEN |
Optional bearer token for the NullTickets proxy |
NULLWATCH_URL |
Override the /api/nullwatch/* proxy target (external NullWatch instead of the managed one) |
NULLWATCH_TOKEN |
Override the managed NullWatch instance token |
Files#
All state lives under ~/.nullhub/: config, instances, binaries, logs, cached manifests, and Mission Control replay artifacts under ~/.nullhub/mission-control/replays/.