Reference

CLI reference

Every command the master and worker executables accept. These are operational commands — starting services, moving the database, recovering access.

Jobs are not submitted from the command line

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.

CommandWhat it does
serveRun the service — REST API, web interface, worker channel. The default.
migrateBring the database schema up to date. The launcher does this for you on start.
backupTake a consistent copy of the database while the service is running.
restoreReplace the live database with a backup file.
seedInsert the default rows. Safe to run more than once.
firstrunOpen the setup dialog that writes master.env.
firewall-installAdd Windows Firewall rules for the master and worker. No effect on other platforms.
reset-admin-passwordSet a new administrator password without touching job history.
probe-v-depsCheck that the EXR and colour tooling resolves. Exits non-zero if anything is missing.

serve#

start the master
$ master serve
$ master serve --open   # also open the dashboard in a browser

Prefer 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.

backup and restore
$ master backup --out ./backups/2026-07-25.db
$ master restore --from ./backups/2026-07-25.db
Restore replaces everything

restore 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#

recover access
$ 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#

default rows
$ master seed
$ master seed --demo   # also insert sample data
Heads up

--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.

preflight
$ master probe-v-deps

Worker#

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.

on each encoding machine
$ bash start.sh

It 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#

check the build
$ master --version

Worth checking across a fleet. Master and workers should be the same release — a mismatched worker may report capabilities the master does not understand.