Skip to content

Command line ​

The self-hosted binary is bin/joobqui-selfhosted (./joobqui inside the image). Run a task with the same environment as the server: it reads the same database and Redis. Any first argument shaped like task:name that is not a task is refused (exit status 1) instead of starting the server.

Commands ​

CommandWhat it does
joobqui-selfhostedRuns the server: the console API (/api/v1), the SDK gateway (/api/v1/sdk), the static console (/ui/), the live stream, the schedule runner, retention, alerts (with a Pro key) and the licence check-in. Applies the database migrations first.
joobqui-selfhosted --workerRuns JoobQ's queue workers for the Crystal job classes the server defines and the schedule runner. Checks the payload keys of the queues it runs before starting.
joobqui-selfhosted --demo-workerRuns the demo workflow worker (needs a JoobQ Pro key; without one it logs a warning and does not start).
joobqui-selfhosted migrateApplies the database migrations and exits (prints "Database migrations complete.").
joobqui-selfhosted doctorChecks the database, Redis, the length of SESSION_SECRET and the licence, prints the result and exits with its status.
joobqui-selfhosted versionPrints the version, the Crystal version and the mode as one JSON line and exits.

Tasks ​

The tasks of the binary, as its usage text describes them.

TaskWhat it does
accounts:create EMAIL USERNAME [--role ROLE]Create an account; the password is read from JOOBQUI_ACCOUNT_PASSWORD, or asked for. ROLE is viewer, operator or admin: the default is admin for the first account and operator after that
accounts:role EMAIL ROLEChange an account's role (its sessions end)
accounts:erase EMAIL --yesErase an account for good: deactivate it, end its sessions, revoke its tokens and replace its email and username with erased-<id>@invalid (the audit trail stays, with the old email rewritten). Refused for the last active admin. --yes is required
accounts:mfa:reset EMAILRemove an account's two-factor authentication (lost phone), end its sessions and revoke its tokens; a role that must have it enrols again at the next sign-in
invites:create [DAYS] [--role ROLE]Print a one-use sign-up invite code, valid for DAYS (1 to 365, default 7); the account made with it gets ROLE (default viewer)
license:statusInspect the active self-hosted license tier, seat usage and expiration
license:refreshCheck in with the licence portal now and keep the renewed licence
sdk:openapi [OUTPUT_PATH]Export the Polyglot SDK Gateway OpenAPI 3.1 spec (default openapi/joobq-sdk.openapi.json)

JoobQ Core is MIT licensed. JoobQ Pro needs a licence key.