Updates & rollback
Review a release, keep a rollback image, then update deliberately.
Review the release
Manage Server → Maintenance → Updates shows stable releases. Automatic checks run daily by default. Checks never install an image or restart Lumina.
Read the release notes and verify a fresh backup before updating.
Keep the current image
From a source checkout, use the retention script. Find your running container ID through Compose rather than assuming its name.
container_id=$(docker compose ps -q lumina)
previous_image=$(docker inspect "$container_id" --format '{{.Image}}')
rollback_name="lumina-rollback-$(date -u +%Y%m%dT%H%M%SZ)"
sh scripts/preserve-rollback.sh "$previous_image" "$rollback_name"
docker inspect "$rollback_name" --format '{{.State.Status}} {{json .Config.Healthcheck.Test}} {{.HostConfig.RestartPolicy.Name}}'Expected: created ["NONE"] no. Keep the pin stopped and exclude it and its referenced image from cleanup. If using only release files, follow the full retention procedure.
Install a pinned image
Replace the existing image line in .env with the exact release you reviewed:
LUMINA_DOCKER_IMAGE=ghcr.io/shiftedx/lumina:0.4.0docker compose pull lumina
docker compose up -d --no-build lumina
docker compose ps
docker compose logs --tail=100 luminaKeep your HTTPS or hardware overrides in the Compose command if you use them. Data and media mounts stay in place.
Rollback safely
Select the retained image through LUMINA_DOCKER_IMAGE and use the normal Compose service. An older image may refuse a newer database schema. Apply the exact release-specific rollback instructions before starting it.