Documentation

Updating StackRegent

StackRegent updates come only from the license server, and each package is checked against the StackRegent release key before it runs. Install them with one click, at night by themselves, or from the command line.

How updating StackRegent works#

Updates are free while the license is active. The panel asks the license server once a day, as part of its daily maintenance, which releases your license may install, and you can ask at any time with Check now. When a newer release is available, three things happen before anything is installed:

  1. The release description is verified. The license server describes each release with its version, size and SHA-256 hash, signed with the StackRegent release key. The public half of that key (ID 4kybuaOI7rGnp0qC) is built into the panel; the private half stays with the publisher. A description whose signature does not match is refused.
  2. The download is verified. The package comes only from the license server's own address; the panel does not follow redirects. After the download, its size and SHA-256 must match the signed values, and they are checked again just before the package is opened.
  3. The version must be newer. A package is installed only if its version is higher than the one running, so an old release cannot be pushed onto the server.

The panel then unpacks the package into C:\Program Files\StackRegent\update\<version> and starts its install.ps1 as a one-time Windows scheduled task named StackRegent Update, running as SYSTEM. It runs outside the panel because the installer stops the panel's own services. The installer copies the new binaries, updates the panel database, rewrites configuration that a release changed (the web application firewall configuration in 0.17.15, for example) and starts the services again.

Websites, mail, DNS and databases keep running during an update. Only the panel is unavailable for a short time, and you may need to log in again.

Release channels#

ChannelWhat you getHow to choose it
StableReleases that are ready for production servers. This is the default.Tools & Settings › Update Settings, leave Include beta releases unticked
BetaStable releases plus test releases before they become stableTick Include beta releases

Use beta on a test server, not on a server with paying customers. The one-line installer always installs the newest stable release.

Update from the panel#

  1. Go to Tools & Settings › Updates. The page shows the Installed version, the Newest release (marked "signature verified") with its notes, where releases Come from and the Last check.
  2. Click Check now. The check runs as a task; follow it in the Task Manager.
  3. Read the notes of the newest release, or the full release notes.
  4. Click Install followed by the version number.

The Check for updates button in the version widget on Home starts the same check.

Before you update a busy server#

  • Read what the release changes in the release notes or the changelog.
  • Make sure a recent server backup exists: Tools & Settings › Backup Manager, or the Last server backup widget on Home.
  • Choose a quiet hour. Sites keep running, but you and your customers lose the panel for a short time.

Automatic and notified updates#

Tools & Settings › Update Settings has these settings:

SettingEffect
Automatic updates: Install new releases at night (after the daily check)When the daily check finds a newer release, it is installed straight away as a task.
Notification: Email me when a new release is availableOne email per new release. On by default.
Email addressWhere the notice goes; empty means the main administrator's address.
Releases: Include beta releasesAdds the beta channel.

Automatic updates suit a single server that you do not watch daily. With several servers, you may prefer to leave them off, update one server by hand, and update the rest once it has run for a day.

Update from the command line#

The update check and the installation are ordinary panel tasks, so you can run them from an elevated PowerShell on the server with stackregent run-task, which queues a task, waits for it and prints its log:

& "C:\Program Files\StackRegent\bin\stackregent.exe" run-task update.check
& "C:\Program Files\StackRegent\bin\stackregent.exe" run-task update.install

The second command downloads, verifies and starts the installer exactly as the Install button does. Check the result with stackregent version once the panel has restarted. The full command reference is on the developer site.

Update from a package by hand#

You can also upgrade with a package you fetched yourself:

  1. Download and verify the release with the one-line installer and -DownloadOnly. It stops after the size, SHA-256 and signature checks and prints the folder it unpacked to.
  2. In an elevated PowerShell in that folder, run powershell -ExecutionPolicy Bypass -File .\install.ps1.

On a server where StackRegent is installed, install.ps1 detects the installation and upgrades in place: it stops the panel services, copies the binaries, updates the panel database and starts the services again.

If an update fails#

Work through these in order. Update did not install has more detail.

  1. No release is offered. Click Check now and read Last check. If it says updates come only while the license is in order, the panel is restricted: fix the license first under Tools & Settings › License Information. If it cannot reach the license server, check outbound HTTPS, DNS and the clock.
  2. The download or a check failed. The task log says which: size, checksum or signature. Click Check now and Install again; a download address is valid for 15 minutes only, so a slow or interrupted download needs a fresh one. A signature failure is never something to work around; tell support.
  3. The installer started but the panel did not come back. Read the installer's log in C:\Program Files\StackRegent\update\install-<version>.log. Check the services with Get-Service StackRegent* and start any that are stopped.
  4. Run the installer again by hand. The unpacked release stays in C:\Program Files\StackRegent\update\<version>. Running its install.ps1 from an elevated PowerShell upgrades in place again and shows every step on screen.
  5. Still stuck? Open a ticket in the client area with the installer log, the output of stackregent version and the Windows Server version.

Updating server components#

StackRegent updates and component updates are separate. PHP, MariaDB, SQL Server Express, MailEnable, Roundcube, Node.js, the ASP.NET Core Hosting Bundle and the other components are updated under Tools & Settings › Server Components (and PHP under Tools & Settings › PHP Settings), with downloads checked against the vendors' published checksums or Microsoft signatures. Windows itself is updated through Windows Update as usual.

Frequently asked questions

Are StackRegent updates free?

Yes. Every release is included while your license is active. A restricted license blocks new updates until it is put right, but websites and mail keep running.

Do websites go down while StackRegent updates?

No. The installer stops and restarts only the panel's own services. IIS, mail, DNS and databases keep serving; customers lose access to the panel for a short time.

How do I know an update is genuine?

The panel installs a package only when its signed size and SHA-256 hash match, the signature matches the StackRegent release key built into the panel, and the version is newer than the installed one. The Updates page marks a verified release as signature verified.

Can I roll back a StackRegent update?

The panel installs only versions newer than the running one, so there is no downgrade button. If a release causes a problem, open a ticket; a fix is published as a newer release.

How do I check which StackRegent version is installed?

Look at the bottom of the panel menu or at Tools & Settings › Updates, or run stackregent version on the server.

Can I test beta releases?

Yes. Tick Include beta releases under Tools & Settings › Update Settings. Do this on a test server; beta releases are offered before they are declared stable.