Skip to content

Backups & add-ons

Beyond the orbit-setup installer itself, each platform’s release zip includes everything the stack needs to run standalone:

  • docker-compose.prod.yml plus the docker-compose.byo-db.yml / docker-compose.minio.yml overlays
  • .env.selfhost.example
  • infra/nginx/selfhost.conf — the reverse proxy config
  • infra/loki/, infra/prometheus/, infra/grafana/ — a full observability stack (logs, metrics, dashboards) runs alongside your instance by default, not just on Kuzium’s own SaaS deployment

Database and object storage are each independently “bundled appliance” or “bring your own” — mix and match with compose’s -f flag:

Setup Command
Postgres appliance + your own S3 (defaults) docker compose -f docker-compose.prod.yml --env-file .env up -d
Postgres appliance + bundled MinIO add -f docker-compose.minio.yml
Your own database + your own S3 add -f docker-compose.byo-db.yml
Your own database + bundled MinIO add both overlays

If you use either overlay, also set UPDATER_COMPOSE_FILES in .env to the same list of -f flags — the Updater service needs to know exactly which files define your running stack so it pulls and restarts the right set on every update.

A self-hosted instance is your responsibility to back up — Kuzium never has a copy of your data.

  • Using the bundled Postgres appliance: back up the postgres-data volume, or run a nightly pg_dump to your object storage bucket. The pattern Kuzium’s own SaaS deployment uses is a simple cron job: dump, gzip, upload to a separate bucket from your uploads bucket, prune anything past a retention window. Adapt it to point at your own database and bucket.
  • Using your own managed database (BYO-DB): use whatever backup mechanism your database provider already offers — that’s the whole point of bringing your own.
  • Object storage (uploads/attachments): if you’re using the bundled MinIO appliance, back up its volume the same way as Postgres. A bring-your-own S3 provider typically has its own backup/versioning options.

The Updater service keeps its own short-term state for rollback (previous image references, not a data backup) in a separate volume — that’s what powers the one-click Rollback button in Settings → Updates, and isn’t a substitute for backing up your database.