Docker backup
Schedule a maintenance window. Stop the four application components while leaving PostgreSQL running:workspaces and artifacts volumes. Save .env, SERVICE_VERSION, image digests and snapshot time. Store backups on protected persistent storage outside the installation directory. Confirm that database and file snapshots belong to the same maintenance window before restarting applications.
Upgrade
Read the release’s migration and compatibility notes and rehearse against a test copy first. After backing up, updateSERVICE_VERSION in Docker’s .env, pull images and recreate containers. For Helm, upgrade using the specific Chart version.
Go runs product and runtime migrations on startup; Java currently updates schema through Hibernate. Rolling back images does not establish that an older version can read a newer schema.
Recover
Stop application writes before data recovery. Restore into an independent empty database, restore matching workspace and artifact snapshots and the original Vault key, then start the component versions corresponding to the backup. Do not pointpg_restore --clean at a live application database.
For a newly created recovery database:
POSTGRES_DB in Compose .env to its name and start with the original keys and matching file snapshots. The database container initializes databases only when its data directory is empty; create a recovery database explicitly on an existing instance.