VACVAC
Operations

Updates & upgrades

Keep the VAC control plane current — and understand what's preserved when you do.

1 min readUpdated June 15, 2026Edition · v0.5.xBeta

Upgrading VAC means pulling newer images and recreating the three control-plane containers. Your data — and your running apps — come through untouched.

Upgrade with the CLI

The simplest path is the vac host CLI:

bashroot@your-vps:~#
vac upgrade

This pulls the latest images and recreates the stack. To move to (or pin) a specific version:

bashroot@your-vps:~#
vac upgrade v0.6.0

That records the version in /opt/vac/.env (VAC_VERSION) so future vac up / vac upgrade runs stay on it until you change it.

Or re-run the installer

Re-running the installer is equivalent and also idempotent:

bashroot@your-vps:~#
curl -sSL get.vac.vojir.io | sudo sh

It detects the existing install, preserves your .env (secrets and config), pulls images, and recreates the containers.

What's preserved

An upgrade is non-destructive

Upgrades touch the control-plane containers, not your data or your apps.

  • VAC_MASTER_KEY and VAC_DB_PASSWORD — kept in .env, never regenerated.
  • All named volumes — the database, cloned repos and build artifacts, and Caddy's certificate store all persist.
  • Your apps — user app containers keep running across a control-plane upgrade; recreating vac-api/vac-proxy doesn't redeploy them.

Version visibility

Check what's pinned versus what's actually running:

bashroot@your-vps:~#
vac version

Rolling back a version

VAC's app-level rollback is for your apps. To roll the control plane back, run vac upgrade <older-version> — images are tagged, so you can pin a previous release. Database migrations run forward on start, so test upgrades on a throwaway box if you maintain strict change control.

Next

On this page