Skip to content

Update Guide

Terminal window
# Pull latest images
docker compose pull
# Restart services (database migrations run automatically)
docker compose up -d
# Verify service status
docker compose ps
Terminal window
# View backend logs
docker compose logs backend
# Confirm migration success
docker compose logs backend | grep "migration"
Terminal window
# Set version tag
export IMAGE_TAG=v1.2.0
# Or set in .env file
echo "IMAGE_TAG=v1.2.0" >> .env
# Pull and restart
docker compose pull
docker compose up -d

Directly modify image tags:

services:
backend:
image: ghcr.io/leslieleung/glean-backend:v1.2.0
web:
image: ghcr.io/leslieleung/glean-web:v1.2.0
admin:
image: ghcr.io/leslieleung/glean-admin:v1.2.0

Pre-release versions (alpha/beta/rc) are for testing new features:

Terminal window
# Use pre-release version
IMAGE_TAG=v1.3.0-alpha.1 docker compose up -d

If issues occur after updating, you can rollback to the previous version:

Terminal window
# Stop services
docker compose down
# Set old version
export IMAGE_TAG=v1.1.0
# Start old version
docker compose up -d

Database Migrations

If the new version ran database migrations, rollback may require manual database handling. Recommend backing up the database before updating.

  1. Backup Data

    Terminal window
    docker exec glean-postgres pg_dump -U glean glean | gzip > backup_before_update.sql.gz
  2. Review Changelog

  3. Check Breaking Changes

    • Note Breaking Changes markers
    • Check configuration variable changes
  4. Prepare Rollback Plan

    • Record current version
    • Ensure valid backup exists
Terminal window
# All services should be healthy
docker compose ps
# Expected output example
# NAME STATUS
# glean-backend Up (healthy)
# glean-worker Up
# glean-web Up
# glean-admin Up
# glean-postgres Up (healthy)
# glean-redis Up (healthy)
Terminal window
curl http://localhost/api/health
Terminal window
# Check for errors
docker compose logs --tail=100 backend | grep -i error
# Check worker
docker compose logs --tail=100 worker | grep -i error

Watchtower can automatically update Docker containers:

Terminal window
docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--cleanup \
--interval 86400 \
glean-backend glean-web glean-admin glean-worker

Recommended update times:

  • Low user activity periods
  • Sufficient time to handle potential issues
  • Personnel available to respond to anomalies