Prerequisites
Before upgrading HestiaCP, make sure you have:
- Complete system backup
- Tested backup restore process
- Low traffic window (2-3 hours)
⚠️ Major version upgrades may introduce breaking changes. Test on staging first!
Check Current Version and Available Upgrade
ssh hxroot@YOUR_SERVER_IP -p 22
/usr/local/hestia/bin/v-list-sys-hestia
Perform Major Upgrade
Download latest installer:
wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh
Run upgrade:
bash hst-install.sh --upgrade --force
Upgrade from HestiaCP to latest release branch
For release candidate:
bash hst-install.sh --upgrade --branch release
For development branch (not recommended for production):
bash hst-install.sh --upgrade --branch main
Post-Upgrade Verification
Check services:
systemctl status hestia
systemctl status nginx
systemctl status php8.2-fpm
Test all domains:
for domain in $(/usr/local/hestia/bin/v-list-web-domains admin | grep -v "DOMAIN"); do
curl -I https://$domain
done
Rollback if Needed
If issues occur, restore from backup:
/usr/local/hestia/bin/v-restore-user admin /backup/admin.pre-upgrade.tar
✅ HestiaCP upgrade completed successfully!