Command line
Controller
node /opt/panel/dist-server/controller.mjs <command> [flags]
| Command | What it does |
|---|---|
serve |
Runs the panel. The default when no command is given. |
setup |
Creates the first Owner account. Refuses once the panel is set up; Owners invite more staff from Staff & roles. |
Flags are --name value, --name=value, or --name alone for on. Every controller setting has a flag.
setup
Without flags, setup asks for your name, email, company name (shown in the panel) and a password of 12 characters or more, then shows a QR code for your authenticator app and asks for a code.
| Flag | What it does |
|---|---|
--name, --email, --organization |
Answer the questions in advance |
--password-file <path> |
Read the password from a file instead of asking |
--totp-secret <base32> |
Use this two-factor secret instead of showing a QR code |
--no-two-factor |
Don’t require two-factor for staff. Not recommended. |
--if-needed |
Do nothing if the panel already has an Owner. The installer uses this on upgrades. |
The installer runs setup for you. To run it by hand, run it as the panel user with the same settings as the service:
sudo -u panel sh -c 'set -a; . /etc/panel/controller.env; exec node /opt/panel/dist-server/controller.mjs setup'
Stopping
On SIGTERM (systemctl stop or restart), the controller refuses new changes, waits up to PANEL_STOP_WAIT seconds for running jobs, then gives open connections 10 seconds more. Jobs still running are marked interrupted and never re-run on their own.
Node agent
node /opt/panel-agent/panel-agent.mjs <command>
| Command | What it does |
|---|---|
enroll --controller <url> --token <enr_…> |
Enrolls the node and saves its credential. The install script runs this for you. |
run |
Connects to the controller and does its work. The panel-agent service runs this. |
version |
Prints the agent’s version |
npm scripts (from the repository)
| Script | What it does |
|---|---|
npm run dev |
The demo panel in the browser, at http://localhost:5173 |
npm test |
All tests |
npm run build:controller |
Builds the panel, the controller and the node agent |
npm run package |
Builds everything and packs it, with the installer, into release/vorticpanel-<version>.tar.gz (see Installing the controller) |
npm start |
controller.mjs serve from dist-server/ |
npm run setup |
controller.mjs setup from dist-server/ |