Skip to content

Upgrading

Vonode edited this page Oct 9, 2026 · 1 revision

Upgrading

Note

The first public release has not been published yet. When it is, it will appear on the Releases page; until then the download commands below will not work.

New versions are published on the releases page. Read the release notes first.

Back up first

In the app, open More > Backups, create a backup and download it. A backup carries messages, call history and the node's subscription binding; keep it private.

In the app

Nodes offer signed updates in the app under More > Software update. The node downloads the new program from this repository's releases and checks its Ed25519 signature before it installs it.

systemd package

Download and verify the new package, then run its installer over the old one:

VERSION=vX.Y.Z        # replace with the new release tag
BASE=https://github.com/vonode/vonode-releases/releases/download/$VERSION
curl -fLO $BASE/vonode_${VERSION}_linux_amd64_commercial.tar.gz
curl -fLO $BASE/vonode_${VERSION}_linux_amd64_commercial.tar.gz.sha256
sha256sum -c vonode_${VERSION}_linux_amd64_commercial.tar.gz.sha256
tar -xzf vonode_${VERSION}_linux_amd64_commercial.tar.gz
cd vonode_${VERSION}_linux_amd64_commercial
sudo ./install.sh
systemctl status vonode vonode-gateway

Your configuration, database and SSH host key are kept, so paired phones keep working. A restart takes up to two minutes because the node de-registers Wi-Fi calling first.

Docker

The commercial Docker image is not published yet; see Install with Docker Compose.

In the package's docker/ folder, put the new verified digest in .env (VONODE_IMAGE=vonode/vonode@sha256:<digest>) or pass it with --image, then:

sudo ./setup.sh
sudo docker compose ps

Both containers always run the same image. Never run docker compose down -v.

Move to new hardware

  1. In the app, create a backup on the old node and download it.
  2. Install the node on the new machine and pair the app with it.
  3. In the app, import the backup, restore it and restart the node.

The backup carries the node's subscription binding, so the new node unlocks without a new purchase, and it keeps the number already chosen for the free plan. Do not keep running the old node with the same data.

Clone this wiki locally