Skip to content
NexPanel
Docs/Operations/Updates

Operations

Updates

NexPanel checks downloads.nexpanel.app for new releases every 6 hours. Administration › Updates shows what is installed, what is available, the release notes, and the SHA-256 of each package. Click Check now to check immediately.

When an update is available, admins see a strip at the top of every admin page.

Before anything is offered

The release manifest is accepted only when its signature matches the NexPanel release key built into the controller. A manifest older than one already seen is ignored, so an old release cannot be replayed as "new".

Update the agents and LVE manager

Click Update on a node, or Update all. Each node:

  1. Downloads the package itself and checks its SHA-256 and signature with the key built into the agent.
  2. Refuses anything that is not newer than what it runs.
  3. Installs in the background and restarts its agent. Websites stay online.
  4. Keeps the previous agent and restores it if the new one does not start.

The new version appears on the Updates page within a minute.

Update the controller

Click Update to X.Y.Z. The web panel does not install anything itself: it asks the root-only nexpanel-updater service, which:

  1. Downloads the manifest again and checks its signature, and checks that the offered version is the one requested and is newer.
  2. Downloads the package and checks its SHA-256 and signature.
  3. Backs up the controller code and database (/var/lib/nexpanel-updater/backups/, the three newest are kept).
  4. Installs the release, runs database migrations and restarts the panel.
  5. If any step fails, restores the code and database from the backup.

The panel is unavailable for about a minute; the Updates page shows the progress and the result.

Compatibility

A controller release can require a minimum agent version. If a node runs an older agent, update the agents first — the Updates page marks such nodes and the controller update waits for them.

From the command line

nexpanel-updater --check              # show installed and offered controller versions
nexpanel-updater --version 1.0.3      # update the controller now (same checks)

For a node without the panel, download the agent package, verify it, unpack it and run ./update.sh inside it.

Channel and download host

The updater reads /etc/nexpanel/updater.conf (root only):

BASE=https://downloads.nexpanel.app
CHANNEL=stable

Wrong or missing something? Let us know.