CLI reference
Every command the master and worker executables accept. These are operational commands — starting services, moving the database, recovering access.
There is no submitcommand. Work is created through the web interface or by posting to the master's REST API. The CLI runs and maintains the services themselves.
On Windows the executables are master.exe and worker.exe. On macOS and Linux they are master and worker. Examples below use the POSIX form.
Master commands#
Run with no arguments, the master defaults to serve. Double-clicking the executable on Windows starts the service and opens the dashboard.
| Command | What it does |
|---|---|
serve | Run the service — REST API, web interface, worker channel. The default. |
migrate | Bring the database schema up to date. The launcher does this for you on start. |
backup | Take a consistent copy of the database while the service is running. |
restore | Replace the live database with a backup file. |
seed | Insert the default rows. Safe to run more than once. |
firstrun | Open the setup dialog that writes master.env. |
firewall-install | Add Windows Firewall rules for the master and worker. No effect on other platforms. |
reset-admin-password | Set a new administrator password without touching job history. |
probe-v-deps | Check that the EXR and colour tooling resolves. Exits non-zero if anything is missing. |
serve#
$ master serve
$ master serve --open # also open the dashboard in a browserPrefer the launcher (start.bat / start.sh) for normal use. It loads master.env, puts the bundled FFmpeg on PATH, and runs migrations before starting the service. Calling serve directly skips all three.
backup and restore#
The backup is taken safely while the service is running. Do not copy the database file with a file manager instead — a live database captured mid-write is not reliably restorable.
$ master backup --out ./backups/2026-07-25.db
$ master restore --from ./backups/2026-07-25.dbrestore overwrites the live database — every job, worker registration and audit record created since that backup is gone. Stop the master first. It asks for confirmation unless you pass --yes, which exists for scripted recovery and should be used deliberately.
reset-admin-password#
$ master reset-admin-password "a new password"Reads the database location the same way serve does, so run it from the bundle folder. Pass --username to target an account other than the configured administrator.
seed#
$ master seed
$ master seed --demo # also insert sample data--demo writes sample records into the database you point it at. It exists for screenshots and smoke tests. Do not run it against a master that holds real work.
probe-v-deps#
Checks that the image and colour tooling used by the EXR ingest paths resolves — the OpenImageIO tool, the LUT baker, and the ACES config. Prints what it found and exits non-zero if any are missing, which makes it usable as a deployment check.
$ master probe-v-depsWorker#
The worker runs the encode daemon. It takes its configuration from worker.env and the environment rather than from flags, so normal operation is a single command.
$ bash start.shIt finds the master over the local network, registers, reports what it can encode, and waits for approval. See Add a worker for the full flow and for what to do when discovery does not reach it.
Version#
$ master --versionWorth checking across a fleet. Master and workers should be the same release — a mismatched worker may report capabilities the master does not understand.