VorticPanel

Reference

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/

Every word has to appear. ↑ ↓ to move, Enter to open.