Skip to content

Install Alta VMS

Alta VMS ships as a single Linux binary with the web UI and database embedded. The binary installs itself as a systemd service.

  • Linux x86-64 (Ubuntu 20.04+, Debian 11+, RHEL 8+, or any modern distro)
  • 512 MB RAM minimum
  • root access (for the one-time install)
  • ffmpeg on the host if you plan to export clips
  • One or more reachable Cesbo Alta servers
  1. Download the binary

    Terminal window
    curl -Lo /usr/local/bin/altavms https://cdn.cesbo.com/alta-vms/latest/altavms-latest

    To pin a specific build instead of the latest stable, use its tagged name:

    Terminal window
    curl -Lo /usr/local/bin/altavms https://cdn.cesbo.com/alta-vms/builds/altavms-26.06.08-dev1
  2. Make it executable

    Terminal window
    chmod +x /usr/local/bin/altavms
  3. Install the service

    Terminal window
    sudo altavms install

That’s it. The installer prints the URL to open and the generated admin login.

The installer is idempotent — re-running it after downloading a newer binary updates the service while keeping your config and data.

  • Creates a dedicated altavms system user (no login).
  • Generates the encryption key, JWT secret, and a random admin password into /etc/altavms/altavms.env.
  • Writes a production config to /etc/altavms/config.yaml.
  • Stores the database and recordings under /var/lib/altavms/.
  • Installs and starts the altavms.service systemd unit.
  • Prints the access URL and admin credentials (shown once).
PathPurpose
/usr/local/bin/altavmsThe binary
/etc/altavms/config.yamlConfiguration
/etc/altavms/altavms.envSecrets (keys, admin password)
/var/lib/altavms/Database, clips, screenshots
/etc/systemd/system/altavms.serviceService unit

Open the URL printed by the installer (by default the server listens on port 3303):

http://your-server-ip:3303

Log in with the admin email and password shown by the installer. They are also stored in /etc/altavms/altavms.env.

Terminal window
systemctl status altavms # service state
journalctl -u altavms -f # follow logs
altavms version # print version
sudo altavms uninstall # remove (add --purge to also delete data + user)

Re-running the installer with a newer binary preserves your config and database:

Terminal window
curl -Lo /usr/local/bin/altavms https://cdn.cesbo.com/alta-vms/latest/altavms-latest
chmod +x /usr/local/bin/altavms
sudo altavms install

The web UI is embedded into the binary at compile time via //go:embed — no Node.js is needed on the server.

Terminal window
git clone https://github.com/cesbo/alta-vms.git
cd alta-vms
make build # builds the frontend, then the Go binary into ./bin/altavms

Copy bin/altavms to the server and run sudo altavms install.