Complete CLI reference for chabokan. Global flags apply before the subcommand:
--plain Strip Rich styling
--rtl MODE auto|shaped|visual|on|off|logical
--json JSON-friendly emit
--gui / --no-gui Tk result dialogs (default on Windows when Tk available)
--env-file PATH Override .env.chabokan location
--verbose Extra diagnostic output
| Group | Examples |
|---|---|
| menu (help) | chabokan menu, chabokan menu ship, chabokan menu --no-gui |
| ship / deploy | chabokan ship all, chabokan deploy web --wait |
| preflight / audit | chabokan preflight all, chabokan predeploy-audit |
| service | chabokan service logs api --tail 80, chabokan services list |
| credentials | chabokan credentials fetch wp |
| ftp | chabokan ftp test web, chabokan ftp sync api |
| doctor | chabokan doctor all, chabokan doctor api --source both |
| file-logs | chabokan file-logs api — FTP pull of logs/ |
| cost / monitor | chabokan cost, chabokan monitor |
| package | chabokan package web --no-zip |
| stacks | chabokan stacks --coverage |
| rtl-probe | chabokan rtl-probe — terminal Persian display lab |
Shop-only relay flags (when ship/relay.py present): --relay-api, --no-relay-auto.
chabokan ship all
chabokan ship api --preflight
chabokan ship web --force-restart
chabokan ship api --no-health-wait| Flag | Default | Effect |
|---|---|---|
--clean |
off | Remove local stage before package |
--force |
off | Force upload paths |
--force-restart |
off | Restart even when FTP content unchanged |
--no-purge-orphans |
purge on | Skip orphan deletion on remote |
--no-wait |
wait on | Skip Hub log tail after restart |
--no-health-wait |
health on | Skip HTTP probe wait |
--health-timeout |
600 | Seconds for health wait |
--preflight |
off | Abort ship if preflight fails |
Production order when services are separate Chabokan containers:
chabokan ship api → GET /api/ready = 200 → chabokan ship web
Or one batch:
chabokan ship all
When API and web ship together, web_ship_blocked_by_api() may skip web:
| Skip reason | Meaning |
|---|---|
api_deploy_failed |
API FTP/restart step failed |
api_health_not_ready |
API restarted but /api/ready did not pass in time |
The recap lists skipped web with the reason — check API logs and chabokan doctor api.
chabokan doctor api
chabokan doctor all --source both
chabokan doctor api --source files--source |
Behavior |
|---|---|
auto |
Hub logs + HTTP (default) |
hub |
Hub API log stream only |
files |
FTP persistent logs/ |
both |
Hub + file logs |
Use doctor for post-deploy smoke — there is no standalone chabokan health command.
chabokan preflight all
chabokan preflight apiValidates API token, FTP login, remote log reachability, and HTTP probes before deploy.
chabokan file-logs api
chabokan file-logs api --remote-dir logsHub service logs resets on container restart; FTP logs/ survives restarts.
chabokan monitor
chabokan costWallet runway, service cost summary, and live health table.
chabokan package api --no-zipBuild local stage tree only (debug packaging rules).
chabokan credentials fetch myapp-api
chabokan credentials fetch myapp-api --show-secretsSecrets are redacted unless --show-secrets is explicit.
- GUI & menu — Tk browser and F1 help
- FTP & restart — metadata-only restart skip
- Deploy recovery runbook — production ops