Skip to content

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:

curl -s http://localhost:8100/health | jq '.version'
# "1.0.0"

Breaking changes

When a new version includes breaking changes:

  1. Read the CHANGELOG for migration instructions
  2. Back up data volumes before upgrading
  3. Test in a staging environment first
  4. 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