Skip to content

Updating and Rollback

SamsterZero edited this page Aug 7, 2026 · 3 revisions

Updating and Rollback

Back up Prizen before every update. Use the same explicit version for the application image, Compose application, and GitHub Release asset.

Docker update

Replace the version in the OCI Compose reference with the target release:

docker compose -f oci://ghcr.io/samsterzero/prizen-stack:0.1.0 up -d --wait

Podman update

Download the target release's Compose asset and use the matching image version:

curl --fail --location --output compose.release.yaml \
  https://github.com/SamsterZero/Prizen/releases/download/v0.1.0/compose.release.yaml

PRIZEN_IMAGE=ghcr.io/samsterzero/prizen:0.1.0 \
  podman compose -f compose.release.yaml up -d --wait

Keep the same Compose project name and do not use down --volumes; the existing pgdata and prizen_secrets volumes are required for the update.

Update a source checkout

Contributors can update and recreate their local source stack without deleting its data:

git pull --ff-only
podman build -t docker.io/library/prizen:local .
PRIZEN_IMAGE=docker.io/library/prizen:local podman compose -p prizen-source \
  -f compose.release.yaml up -d --wait --force-recreate

Docker users can use docker, tag the image as prizen:local, and keep the same prizen-source project name. Never add --volumes to an update command.

The migration service runs before the app and tracker start. Never mix a Compose file from one release with an image from another.

Rollback may require restoring the database and secrets backup taken before the update. Changing only the image tag is unsafe after an incompatible migration.

Clone this wiki locally