Upgrading
Upgrading Guide#
Upgrade ncps to newer versions.
Single-Instance Upgrade#
Docker#
# Stop current instance
docker stop ncps
# Pull new version
docker pull kalbasit/ncps:latest
# Remove old container
docker rm ncps
# Start with new version (same command as before)
docker run -d --name ncps ...NixOS#
# Update channel
sudo nix-channel --update
# Rebuild system
sudo nixos-rebuild switchKubernetes/Helm#
# Update chart
helm upgrade ncps ./charts/ncps -n ncps -f values.yamlHigh Availability Upgrade#
Perform rolling updates:
# Update instance 1
docker stop ncps-1
docker rm ncps-1
docker pull kalbasit/ncps:latest
docker run -d --name ncps-1 ...
# Wait and verify instance 1 is healthy
# Update instance 2
# ... repeat process
# Update instance 3
# ... repeat processKubernetes automatic rolling update:
spec:
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 1Database Migrations#
Database migrations run automatically on startup. Ensure:
- Backup database before upgrading
- migrations complete successfully (check logs)
- All instances use same database schema version
Breaking Changes#
Check release notes for breaking changes before upgrading.
Rollback#
If upgrade fails:
Docker:
docker stop ncps
docker rm ncps
docker run -d --name ncps kalbasit/ncps:v0.4.0 ... # Previous versionHelm:
helm rollback ncps -n ncpsRelated Documentation#
- Installation - Installation methods
- Deployment - Deployment strategies