Skip to content

Updates (OTA)

An active subscription (and the Free plan) includes over-the-air updates.

Checking for updates

  • In the UI: vConfig checks vconfig.ai daily and shows a banner at the top of the page when a new version is available — Settings → Updates has the current version and the release notes.
  • From the shell: vconfigctl update --check

Updating

Two ways, same result — the button in the UI ends up running the very same procedure on the host.

From the web UI

Settings → Updates → Upgrade now. The button only appears when there is a new version. Progress is shown step by step; the page briefly disconnects while the containers are recreated and then reconnects on its own.

This needs the update agent on the host. Installs made with the one-click script from 2.450.0 onwards have it already. On older installs the button does not appear at all — run this once on the host and it works from then on:

curl -fsSL https://vconfig.ai/vconfigctl -o /usr/local/bin/vconfigctl && chmod +x /usr/local/bin/vconfigctl
vconfigctl enable-ui-update

Do not skip the first line: enable-ui-update only exists from 2.450.0, and the machines that need it are precisely the older ones still carrying an old vconfigctl — running the second line alone just prints "unknown command".

The agent does exactly one thing: when it sees the signal the app drops, it runs vconfigctl update on the host. It does not mount the Docker socket into the container — that would hand the host's root account to a web application.

From the host shell

vconfigctl update

On an older install, refresh the tool first (the same curl line as above): the current version installs the in-app update button on its way out, so this one run on the host is the last one you need.

This will:

  1. Download the new release image and verify its SHA-256 checksum.
  2. Back up your database and data volume automatically.
  3. Swap the container to the new version (typically < 30 seconds of downtime).
  4. Keep the previous image locally for rollback.
  5. Once the new version answers, clear older release tarballs and images, and trim backups to the 5 most recent (VCONFIG_KEEP_BACKUPS to change). Cleanup only runs after a successful update — on failure those older artifacts are exactly what a rollback needs.

Database schema migrations run automatically on first start of the new version.

Rolling back

cd /opt/vconfig
# set VCONFIG_VERSION back to the previous version in .env, then:
docker compose up -d

Warning

Roll back only to the version you upgraded from, and restore the matching database backup from /opt/vconfig/backups if the newer version already migrated the schema.

Release channels

All customers receive the stable channel. Release notes for every version are published on the changelog.