Upgrade Guide
How to upgrade ChainLaunch to a new version without downtime for your blockchain networks.
Before You Upgrade
- Read the release notes for breaking changes
- Back up your database and data directory
- Back up your blockchain data using Backups
# Back up the database
cp /var/lib/chainlaunch/chainlaunch.db /var/lib/chainlaunch/chainlaunch.db.bak
# Back up the data directory
tar czf chainlaunch-data-backup.tar.gz /var/lib/chainlaunch/
Upgrade via Install Script
The simplest method — the install script detects the existing installation and upgrades in place:
curl -fsSL https://chainlaunch.dev/deploy.sh | bash
This will:
- Detect the running ChainLaunch version
- Download the latest binary
- Replace the old binary
- Restart the service (if running as systemd)
Upgrade Manually
Step 1: Download the New Binary
export CHAINLAUNCH_VERSION=$(curl -s https://api.github.com/repos/LF-Decentralized-Trust-labs/chainlaunch/releases/latest | grep tag_name | cut -d '"' -f 4)
# Linux
curl -L -o chainlaunch "https://github.com/LF-Decentralized-Trust-labs/chainlaunch/releases/download/${CHAINLAUNCH_VERSION}/chainlaunch-linux-amd64"
chmod +x chainlaunch
# macOS (Apple Silicon)
curl -L -o chainlaunch "https://github.com/LF-Decentralized-Trust-labs/chainlaunch/releases/download/${CHAINLAUNCH_VERSION}/chainlaunch-darwin-arm64"
chmod +x chainlaunch
Step 2: Stop ChainLaunch
sudo systemctl stop chainlaunch
# Or if running manually: kill the process
Your blockchain nodes (Docker containers) continue running — stopping ChainLaunch only stops the management plane.
Step 3: Replace the Binary
sudo mv chainlaunch /usr/local/bin/chainlaunch
Step 4: Start ChainLaunch
sudo systemctl start chainlaunch
Step 5: Verify
chainlaunch version
# Should show the new version
curl http://localhost:8100/api/v1/health
# Should return healthy
Database Migrations
ChainLaunch runs database migrations automatically on startup. If a new version includes schema changes, they are applied when the service starts.
If you need to run migrations manually:
chainlaunch migrate --db=/var/lib/chainlaunch/chainlaunch.db
Rollback
If something goes wrong:
# Stop ChainLaunch
sudo systemctl stop chainlaunch
# Restore the old binary (keep a copy before upgrading)
sudo cp /usr/local/bin/chainlaunch.bak /usr/local/bin/chainlaunch
# Restore the database backup
cp /var/lib/chainlaunch/chainlaunch.db.bak /var/lib/chainlaunch/chainlaunch.db
# Start ChainLaunch
sudo systemctl start chainlaunch
Upgrading ChainLaunch Pro
For Pro installations, the upgrade process is the same but uses the Pro binary:
# Download from the private releases repo (requires GitHub access)
curl -L -H "Authorization: token YOUR_GITHUB_TOKEN" \
-o chainlaunch \
"https://github.com/chainlaunch/chainlaunch-pro-releases/releases/download/${VERSION}/chainlaunch-pro-linux-amd64"
Version Compatibility
| ChainLaunch | Fabric | Besu | Go |
|---|---|---|---|
| 0.x | 2.5.x | 24.x | 1.23 |
ChainLaunch is backwards-compatible with networks created by older versions. You do not need to recreate your networks after upgrading.
Next Steps
- Backups to set up automated backups before upgrading
- Troubleshooting if you encounter issues after upgrading