Upgrading & Migration
How to upgrade Voxeltron, roll back if something goes wrong, and migrate from other self-hosted PaaS platforms.
Upgrade Methods
Homebrew (macOS / Linux)
$ brew upgrade voxeltron Upgrades both the voxeltrond daemon and the voxeltron TUI binary.
Debian / Ubuntu
$ sudo apt update && sudo apt upgrade voxeltron The APT package includes systemd service definitions. The daemon is automatically restarted after upgrade.
Fedora / RHEL
$ sudo dnf upgrade voxeltron Docker
$ docker pull voxeltron/voxeltrond:latest
$ docker-compose up -d Docker Compose recreates only the daemon container. Your application containers are not interrupted.
Manual Binary Replacement
# Stop the daemon
$ sudo systemctl stop voxeltrond
# Replace binaries
$ sudo cp voxeltrond /usr/local/bin/voxeltrond
$ sudo cp voxeltron /usr/local/bin/voxeltron
# Restart
$ sudo systemctl start voxeltrond Install Script (Re-run)
$ curl -sSL https://get.voxeltron.dev | bash Re-running the install script detects the existing installation and upgrades in place. Configuration and state are preserved.
Pre-Upgrade Checklist
Back Up the State Database
$ cp <data_dir>/state.db <data_dir>/state.db.bak-$(date +%Y%m%d)
Default <data_dir> is /var/lib/voxeltron (Linux)
or ~/Library/Application Support/voxeltron (macOS).
Back Up Configuration
$ sudo cp /etc/voxeltron/voxeltron.toml /etc/voxeltron/voxeltron.toml.bak Check Release Notes
Read the release notes for your target version. Look for breaking changes, deprecated features, and state migration notes.
Verify Binary Checksums
$ sha256sum voxeltrond
# Compare against the checksum listed in the release assets What Happens During an Upgrade
Running containers are NOT interrupted. Docker keeps them alive independently of the daemon.
State migrations run automatically on daemon startup. Idempotent and forward-only.
gRPC/TUI connections drop momentarily and reconnect automatically with exponential backoff.
Rollback Procedure
1. Keep Previous Binaries
Before upgrading, save your current binaries:
$ sudo cp /usr/local/bin/voxeltrond /usr/local/bin/voxeltrond.prev
$ sudo cp /usr/local/bin/voxeltron /usr/local/bin/voxeltron.prev 2. Restore Previous Version
# Stop the daemon
$ sudo systemctl stop voxeltrond
# Replace with previous binaries
$ sudo cp /usr/local/bin/voxeltrond.prev /usr/local/bin/voxeltrond
$ sudo cp /usr/local/bin/voxeltron.prev /usr/local/bin/voxeltron
# Restore state database if migrations were applied
$ cp <data_dir>/state.db.bak-YYYYMMDD <data_dir>/state.db
# Restart
$ sudo systemctl start voxeltrond Migrating from Other Platforms
From Coolify
- Export application configurations and environment variables from Coolify's dashboard
- Re-create projects in Voxeltron:
$ voxeltron project create --name my-app --source github.com/org/repo $ voxeltron env set --project my-app KEY=value - Point DNS records to your Voxeltron server's IP address
- Voxeltron handles TLS automatically — certificates are provisioned via Let's Encrypt on first request
From Dokploy
- Export application configs and environment variables from Dokploy
- Re-create projects in Voxeltron using the TUI or gRPC API
- Migrate Docker Compose files — Voxeltron deploys from Docker images directly
- Update DNS records to point to your Voxeltron server
- TLS certificates are provisioned automatically
Version Compatibility Matrix
| Daemon Version | TUI Version | Proto Version | Notes |
|---|---|---|---|
0.1.x | 0.1.x | v1 | Initial release |
0.2.x | 0.2.x | v1 | Plugin system added |
0.3.x | 0.3.x | v1 | Database provisioning |
1.0.x | 1.0.x | v1 | Stable release (planned) |
0.3.2 works with TUI 0.3.0).
Proto version changes are rare and always accompany a major version bump.