Backup & restore

What to back up, how often, and how to restore a OrcheStack instance from scratch.

What to back up

Three things matter:

  1. PostgreSQL — a pg_dump of the entire instance covers platform state, raw, marts, Airflow, and OpenMetadata metadata.
  2. MinIO bucket — use mc mirror to replicate the OrcheStack/ bucket to external storage.
  3. Config directory./config/ contains your .env, generated docker-compose.yml, and any custom DAGs or dbt models.

The nightly backup job

The default Airflow DAG OrcheStack_backup_nightly runs at 01:30 local time and:

  1. Runs pg_dump and writes the output to s3://OrcheStack/backups/<date>/postgres.sql.gz.
  2. Runs tar czf on ./config/ and uploads to the same prefix.
  3. Deletes backups older than 30 days (configurable).

Manual backup

From the OrcheStack admin dashboard, go to Operations → Backup now. Triggers the same Airflow task immediately.

Restoring from backup

On a fresh OrcheStack install:

  1. Stop the stack: docker compose down.
  2. Restore ./config/ from backup.
  3. Start the stack: docker compose up -d.
  4. Run pg_restore against the PostgreSQL container.
  5. Run mc mirror in reverse to restore MinIO.

A full restore runbook with exact commands is in the Troubleshooting section.