Server updates
A self-hosted Nexus Telemetry Fleet server is updated by hand. Nothing is installed automatically. Take a backup before an update, and update the fleet server before its collectors. See Release channels for updating collectors.
Release channels
| Channel | Purpose |
|---|---|
stable |
Production. The default, and the channel every install command on these pages uses |
beta |
Early access to the next release |
alpha |
Nexus Telemetry’s own testing. Every release is published here first |
A release is built and signed once, and the same build is published to each channel in turn, so a version number means the same build on every channel.
A collector that is newer than its fleet server shows as offline and online in turn, because the older fleet server cannot read what the newer collector sends. That is why the fleet server is updated first.
Package
The apt repository, added at install, keeps the last 7 versions of each package installable. See Files and repositories for the repository.
| Platform | Update | Roll back |
|---|---|---|
| Debian and Ubuntu | sudo apt update && sudo apt install --only-upgrade nf-server, then restart the service |
sudo apt install nf-server=<version>. apt list -a nf-server lists the versions |
| RHEL and Fedora | sudo dnf upgrade nf-server, then restart the service |
sudo dnf downgrade nf-server-<version> |
The update and the restart, on Debian and Ubuntu:
sudo apt update && sudo apt install --only-upgrade nf-server && sudo systemctl restart nf-serverServer health reports the new version once the fleet server has restarted.
Docker
Pull the newer image and recreate the container. The data, including the certificate authority and every reading, is in a named volume, so it is kept.
export NF_STREAM_SAN=<your domain> && docker compose -f docker-compose.production.yml pull && docker compose -f docker-compose.production.yml up -dNF_STREAM_SAN is the name given at the first start. It is in the fleet
server’s certificate, so a different value here changes nothing. See
Install.
Update notification
The fleet server checks its release channel for a newer version between 30 and 90 seconds after it starts, and then every 6 hours. A check that cannot reach the internet reports nothing, so a fleet server with no internet access shows Not checked yet.
| Where | Shows |
|---|---|
| Settings, About, the Updates row | This server is up to date, the newer version and its channel, or Not checked yet |
| The top bar, and the Server health header | Update available:, shown to users in the platform organisation, the one that manages the fleet server |
| Variable | Effect |
|---|---|
NF_UPDATE_CHANNEL |
The channel to check. A packaged install reads it from its repository file, so it is set only for a Docker install. Unset, stable |
NF_UPDATE_CHECK=off |
No check, for a fleet server that must make no outbound calls. The startup log records that the check is off |
Shutdown
On the stop signal from systemctl stop, docker stop or an orchestrator,
the fleet server stops accepting connections, lets dashboard requests in
progress finish, and closes the collector connections.
sudo systemctl stop nf-serverCollectors reconnect when the fleet server returns and continue from where they stopped. No readings are lost.
Data across updates
The data directory and the configuration directory are created at the first install and are not changed by an update. The environment file is configuration, so edits to it are kept. An update does not rebuild the database unless the release notes say so. During the beta, a release that requires a new column adds it to the existing database, and every row is kept.
Removing the package leaves the data in place. Purging the package deletes the data directory and the certificate authority. See Backup and restore.