dockxo beta
FeaturesPricingBlogChangelogGet started Sign in
features/backups
Your bucket, sealed project filesince v0.4

Backups & restore

Scheduled project backups to your own S3-compatible bucket, streamed from the server in 16 MB parts with flat memory. Every run carries a sealed project file, so a bucket alone is enough to restore a whole project on this panel or a new one.

  • Amazon S3, Cloudflare R2, Backblaze B2, Wasabi, Hetzner, MinIO — tested before saving, secret stored encrypted
  • Plans per project: which services, which volumes, cron schedule in your time zone, retention
  • Volumes stream straight from the server to the bucket in 16 MB parts, nothing through the panel
  • Managed MariaDB backed up as a consistent SQL dump while running
  • Sealed project.dockxo (scrypt + AES-256-GCM, your passphrase) in every run
  • Restore a whole project from a bucket, even on a brand-new panel

Plans

Add buckets under Settings → Storage. A project’s Backups tab holds plans: which services, which of their volumes, a cron schedule in your time zone with a preview of the next runs, and how many backups to keep. Runs are jobs, so they can be followed and cancelled, and old runs past the retention are deleted from the bucket.

How a run works

Volumes are packed on their own server and uploaded straight to the bucket in 16 MB parts — flat memory, nothing through the panel, so a large volume never takes the panel or the server down. A managed MariaDB is backed up as a consistent SQL dump while it keeps running; other services can be paused while their files are copied, and a container left paused by an interrupted backup is resumed when the agent starts. History shows every run with its items, sizes, errors and signed download links.

The sealed project file

Each run starts by saving project.dockxo: every setting and secret of the project, sealed with a passphrase set on the plan (scrypt + AES-256-GCM), next to a plain run.json summary. A bucket is therefore enough to find and restore a project even if the panel is gone. A plan may also back up the config only.

Restore

Projects → Restore lists every backup found in a bucket, grouped by project. Pick a run, enter the plan’s passphrase and review what comes back: services, volumes, domains, the data saved in that run and which of your servers each source server maps to (matched by IP, then name). The project is recreated as a new project with every service’s settings, env, mounts, domains, redirects and backup plans; ticked volumes are refilled and SQL dumps loaded, then the services are deployed in dependency order — database primaries, replicas, routers, apps, caches, balancers. Volumes that were not backed up come back empty with the same settings.

Related posts