Command-line reference
All commands run from the repository root unless noted.
start.py — run from source
python start.py [--desktop] [--check | --prepare-only] [--data-dir DIR] [--port PORT] [--host HOST] [--admin-user NAME] [--no-browser] [--password-stdin]
| Option | Default | Meaning |
|---|---|---|
--data-dir | Per-system default (Data, backups and upgrades) | A new empty directory, or one this launcher created |
--port | 18989 | HTTP port |
--host | Loopback only | Bind address. A LAN IP exposes it on your network over plain HTTP |
--desktop | off | Also install and open the desktop client, with its own profile |
--check | Check prerequisites without installing or changing files | |
--prepare-only | Install dependencies and build the UI without starting a service or asking for a password | |
--admin-user | admin | Administrator name for the first start |
--no-browser | Don't open the browser | |
--password-stdin | Read the first administrator password from standard input, never from arguments or a file |
Also: sh start.sh; on Windows start.cmd and start-desktop.cmd (adds --desktop); on macOS start.command and start-desktop.command.
ops/self-host/deploy.py — single-server Docker
python ops/self-host/deploy.py [up|status|logs|stop|credentials] [--data-dir DIR] [--port PORT] [--public-url URL] [--no-build]
| Command | Meaning |
|---|---|
up | Build if needed and start. First run creates private configuration |
status | Container status |
logs | Logs |
stop | Stop this instance. Data, files and keys are kept |
credentials | Show the first-boot administrator password |
| Option | Meaning |
|---|---|
--data-dir | Instance directory. Use the same one for every command |
--port | First initialization only; default 18989 |
--public-url | HTTPS origin of your reverse proxy |
--no-build | up with the image already built |
Also: ops/self-host/deploy.cmd, sh ops/self-host/deploy.sh.
runner_main.py — standalone runner
Usually installed by the setup command (Runners and cloud environments). Options:
| Option | Environment variable |
|---|---|
--hub | SODUWORK_HUB |
--key | SODUWORK_RUNNER_KEY |
--id | SODUWORK_RUNNER_ID |
--tags | SODUWORK_RUNNER_TAGS |
--work-root | SODUWORK_WORK_ROOT |
--data-root | SODUWORK_DATA_ROOT |
--max-concurrent | SODUWORK_RUNNER_MAX_CONCURRENT |
--doctor |
Checks
| Where | Command |
|---|---|
| Repository root | python -m unittest tools.dev.test_start_local, node tools/check-public-source.cjs, node tools/check-repository-layout.cjs, node tools/check-third-party.cjs, node tools/check-docs.cjs, python tools/security/scan_secrets.py --download |
client/ | npm test, npm run check:layout |
hub-frontend/ | node --test tests/*.test.mjs, npm run build |
hub-backend/ | python quality_gate.py --profile release --scope backend; --list shows all gates |
| Launcher tests | python -m unittest tools.dev.test_start_local tools.dev.test_deploy |