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
- Read the release notes.
- Create and verify a backup.
- Confirm your image and PostgreSQL versions are pinned.
- 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.