Upgrading¶
Standard upgrade¶
# Pull latest code
git pull
# Rebuild containers
docker compose build
# Rolling restart (zero downtime if using multiple replicas)
docker compose up -d
# Verify health
for port in 8100 8101 8102 8103 8104 8105 8106 8107; do
echo -n "Port $port: "
curl -s http://localhost:$port/health/live | jq -r '.status' 2>/dev/null || echo "not running"
done
Upgrade a single product¶
docker compose build document-search
docker compose up -d document-search
curl http://localhost:8100/health
Version checking¶
Each product reports its version in the health endpoint:
Breaking changes¶
When a new version includes breaking changes:
- Read the CHANGELOG for migration instructions
- Back up data volumes before upgrading
- Test in a staging environment first
- Upgrade during a maintenance window
Rollback¶
If an upgrade causes issues:
# Revert to previous code
git checkout HEAD~1
# Rebuild and restart
docker compose build
docker compose up -d
For upgrade assistance: niels@haagsman.ai