Skip to main content

Updates and backups

What to preserve

Preserve the PostgreSQL volume, uploads, backup volumes, .env, and the settings encryption key. A deployment is not recoverable if critical secrets or data volumes are lost.

Important keys

Keep APP_SETTINGS_ENCRYPTION_KEY and SESSION_SIGNING_SECRET secure. Do not change the encryption key after service credentials have been saved unless you have a tested rotation plan.

Before updating

  1. Read the release notes.
  2. Create and verify a backup.
  3. Confirm your image and PostgreSQL versions are pinned.
  4. Record the currently running version so you can roll back safely.

Update with Docker Compose

docker compose pull app
docker compose up -d --force-recreate app
docker compose ps

Check application and database logs after the update.

What to check afterwards

  • The containers are healthy.
  • The admin panel and Customer Portal load.
  • Sign-in works.
  • Main integrations pass diagnostics.
  • Scheduled tasks and notifications behave as expected.

Do not use down -v for an update

docker compose down -v deletes volumes. It can remove your database, backups, and uploads. Do not use it as a normal update command.

Basic PostgreSQL backup and restore

Use your documented PostgreSQL dump procedure, store the output outside the host, and test restoring it in an isolated environment. A backup is only trustworthy after a restore test.

PostgreSQL major changes

Do not run a new major PostgreSQL image on an existing old-major volume. Back up, migrate through a controlled dump/restore (or equivalent), and validate before switching production.

Good practices

  • Back up before every meaningful update.
  • Keep an off-server copy.
  • Test restoration periodically.
  • Update one component at a time when troubleshooting.
  • Never share logs containing secrets.