Check your installation
Browser updates require the standalone RenewCMS binary (v2.6.0-beta or later) running as an unprivileged systemd service on Linux. Keep the executable and its parent directory under root control. You need sudo access on the server for setup and a RenewCMS owner account to apply updates. Docker deployments update by pulling a new image and recreating the container.
Back up the database, uploads, configuration and current executable before testing or applying an update. The helper uses fixed systemd unit names, so configure it for one RenewCMS instance per host.
Install the systemd serviceFind your service settings
The commands use the installation guide’s service and environment file. Substitute your actual unit and configuration path. Use the directory containing DB_FILE for SQLite. Resolve relative paths against the service’s WorkingDirectory. For example, ./data/renewcms.db under /var/lib/renewcms gives /var/lib/renewcms/data. Keep your existing database path. With an external database, use RenewCMS’s configured DATA_DIR.
systemctl show renewcms -p User -p WorkingDirectory -p ExecStart -p EnvironmentFiles
sudo grep -E '^(DB_FILE|DATA_DIR|PORT)=' /etc/renewcms/renewcms.envEnable the update helper
Run this once on the server. Adjust both executable paths, the service name, the data directory and the port. Use the local port where RenewCMS answers /healthz on 127.0.0.1. The command installs and starts the systemd watcher and writes update-helper.json in the data directory.
sudo /opt/renewcms/renewcms enable-browser-updates \
--service renewcms \
--binary /opt/renewcms/renewcms \
--data-dir /var/lib/renewcms \
--port 8080Verify setup and test a restart
The path unit should report active and enabled. Reload Settings as the owner and find Updates. With no update staged, you can test the helper by selecting Restart and confirming. The site is briefly unavailable. Wait for it to return, then check /healthz on your public CMS URL.
systemctl is-active renewcms-update.path
systemctl is-enabled renewcms-update.pathInstall an update from Settings
In Settings → Updates, choose Check for updates. If a newer version is available, read its release notes and choose Update. RenewCMS downloads and verifies the signed release while your site stays online.
When the update is ready to install, save any work in progress, choose Restart and confirm. You can wait for a maintenance window before restarting. Once the site returns, verify the new version in Settings and check /healthz on your public CMS URL.
Diagnose a missing button or failed update
If Restart is missing, confirm you are signed in as the owner and check that the service user can read update-helper.json in the actual data directory. If you set up the helper with the wrong directory, run disable-browser-updates with the original service name and data directory before enabling it with the correct settings.
If the site does not come back or the update fails, inspect update-result.json in the data directory, check the helper journal and test the local health endpoint. Automatic rollback restores the previous executable. If you need to undo a database migration, use your database backup.
sudo journalctl -u renewcms-update.service -n 30 --no-pager
curl -fsS http://127.0.0.1:8080/healthz