Command-line (SSH)
The novapanel CLI: inspect and manage the panel over SSH.
NovaPanel installs a novapanel command on the server (symlinked into
/usr/local/bin), so you can inspect and manage the panel over SSH without
opening the web UI. It reads the panel's database credentials automatically from
/opt/novapanel/config/.env, so there's nothing to configure — just run it
as root (or with sudo).
Important: always givenovapanela subcommand. Running barenovapanelwith no arguments starts a panel server process, which will conflict with the service already running under systemd. Usesystemctlto control the service itself (see the bottom of this page).
Inspection
| Command | What it does |
|---|---|
novapanel status | One-line health summary with counts of users, sites, domains, and databases. |
novapanel report | Full system report — versions, license, service health, resource usage, counts, and whether an update is available. Made to paste into a support request. |
novapanel version | Prints the installed panel version and build commit. |
novapanel help | Shows the full command list. -h / --help work too. |
Operations
| Command | What it does |
|---|---|
novapanel update | Update the panel to the latest version (download, verify, swap, restart). Add --check to only report whether an update is available. |
novapanel service <restart|start|stop|status> <name> | Control a service — caddy, postgresql, mariadb, pdns, postfix, dovecot, novapanel, and more. |
novapanel repair | Run the panel's self-heals on demand (Caddy, PowerDNS, firewall engine). Works even if the panel or database is down — the break-glass command. |
User management
These manage customer accounts (role user) — the same accounts
you'd create under Users in the admin panel. Handy for scripted
provisioning or resetting a locked-out customer's password without logging in.
| Command | What it does |
|---|---|
novapanel user list | Lists all users: email, username, role, status, created date. |
novapanel user create <email> <username> <password> | Creates a new customer user. |
novapanel user password <email> <new-password> | Resets that user's password. |
novapanel user suspend <email> | Deactivates the account (blocks login, keeps data). |
novapanel user unsuspend <email> | Reactivates a suspended account. |
novapanel user delete <email> | Permanently removes the user. |
novapanel admin create <email> <username> <password> | Creates a staff admin account (handy for recovering admin access from the console). |
Note:user createmakes a customer account;admin createmakes a staff admin.
Resource listings
| Command | What it does |
|---|---|
novapanel site list | All sites: name, runtime, status, owner. |
novapanel site count | Total number of sites. |
novapanel domain list | All domains: domain, type, status, and the site it belongs to. |
novapanel domain count | Total number of domains. |
novapanel db list | All customer databases: name, engine, DB user, size, owner. |
novapanel db count | Total number of databases. |
Backups
| Command | What it does |
|---|---|
novapanel backup create [username] | Back up one user, or every user if omitted — the same engine the panel and scheduler use (local snapshot, databases included). |
novapanel backup list [username] | List backups for a user, or for everyone if omitted. |
novapanel backup restore <username> <file> | Restore a user's data from a named backup file. |
A quick tour
Everything read-only, safe to run any time:
novapanel version
novapanel status
novapanel user list
novapanel site list
novapanel domain list
novapanel db list Provision and then remove a test customer:
novapanel user create test@example.com clitest 'TestPass123'
novapanel user list
novapanel user password test@example.com 'NewPass456'
novapanel user suspend test@example.com
novapanel user unsuspend test@example.com
novapanel user delete test@example.com Controlling the service itself
The novapanel CLI talks to the panel's database — it doesn't start or stop the
running panel. For that, use systemd:
systemctl status novapanel # is the panel running?
systemctl restart novapanel # restart it
journalctl -u novapanel -f # follow the live logs
The same pattern applies to the supporting services the panel relies on —
caddy, postgresql, mariadb, pdns, dovecot, postfix.
Your SSH login banner (MOTD) shows a colour-coded status dot for each on every login.