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
| Command | What it does |
|---|---|
joobqui-selfhosted | Runs 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 --worker | Runs 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-worker | Runs the demo workflow worker (needs a JoobQ Pro key; without one it logs a warning and does not start). |
joobqui-selfhosted migrate | Applies the database migrations and exits (prints "Database migrations complete."). |
joobqui-selfhosted doctor | Checks the database, Redis, the length of SESSION_SECRET and the licence, prints the result and exits with its status. |
joobqui-selfhosted version | Prints 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.
| Task | What 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 ROLE | Change an account's role (its sessions end) |
accounts:erase EMAIL --yes | Erase 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 EMAIL | Remove 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:status | Inspect the active self-hosted license tier, seat usage and expiration |
license:refresh | Check 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) |