System Dumps & S3 Offsite Sync (eda dump, eda s3)
Export compressed cluster or app backup archives, configure automated schedules, and replicate offsite to Cloudflare R2 / AWS S3
Explita Deploy provides built-in archiving tools to export full compressed backup archives of applications, databases, and environments, automate scheduled snapshots, and replicate them offsite to Cloudflare R2, AWS S3, or local MinIO storage.
eda dump [options]
eda dump schedule [options]
eda s3 <status|set|test|rm> [options]1. Export Compressed Backup (eda dump)
Export a comprehensive .tar.gz archive of applications, database dumps, source files, and encrypted secrets:
eda dump [options]Options
| Flag | Shorthand | Type | Description | Default |
|---|---|---|---|---|
--app <appId> | -a | String | Target a specific application (defaults to all applications). | All apps |
--all | -A | Boolean | Explicitly dump all applications across the entire server. | |
--db | -d | Boolean | Include database dumps (.sql files). | All |
--files | -f | Boolean | Include deployment source files and assets. | All |
--env | -e | Boolean | Include environment variables (.env). | All |
--reveal-secrets | -s | Boolean | Include unredacted secrets and raw database credentials. | Redacted |
--s3 | Boolean | Upload dump archive directly to configured S3 storage. | ||
--output <file> | -o | String | Write dump archive to designated local file path. | stdout / prompt |
Examples
# Dump all apps with all components (secrets redacted)
eda dump
# Dump everything for a specific application
eda dump -a my-app
# Export app dump and upload directly to S3 / Cloudflare R2
eda dump -a my-app --s3
# Export entire server cluster dump to S3
eda dump --all --s3
# Dump database only for a specific app
eda dump -a my-app -d
# Save cluster dump to a specific local file
eda dump -o backup_20261016.tar.gz
# Stream dump archive directly through pipe
eda dump > cluster.tar.gz2. Automated Dump Schedule (eda dump schedule)
Configure the host server to automatically generate dump archives on a recurring schedule and retain a designated number of rolling snapshots:
eda dump schedule [options]Options
| Flag | Description |
|---|---|
-a, --app <appId> | Target specific application (or omit for cluster-wide schedule). |
--daily | Run automated dump every day at midnight (0 0 * * *). |
--weekly | Run automated dump every Sunday at midnight (0 0 * * 0). |
--monthly | Run automated dump on the 1st of every month (0 0 1 * *). |
--cron <expr> | Custom 5-part cron schedule expression (e.g. 0 3 * * *). |
--keep <n> | Number of rolling backup archives to retain before purging oldest. |
--s3 | Automatically push scheduled dump archives directly to S3 storage. |
--disable | Disable automated dump schedule. |
Examples:
# Automate weekly app dumps uploaded directly to S3, keeping last 4 backups
eda dump schedule -a my-app --weekly --s3 --keep 4
# Automate daily cluster backups at 3:00 AM UTC
eda dump schedule --cron "0 3 * * *" --s3 --keep 73. Offsite S3 Storage Configuration (eda s3)
Configure offsite replication credentials for AWS S3, Cloudflare R2, or MinIO.
eda s3 <command> [options]Subcommands
| Command | Description |
|---|---|
eda s3 status | View active S3 configuration, bucket target, and endpoint connectivity. |
eda s3 set | Configure offsite S3 storage credentials and bucket targets. |
eda s3 test | Verify read, write, and delete permissions on the target bucket. |
eda s3 rm | Remove custom S3 configuration from an application (reverts to server default). |
Options for eda s3 set:
| Flag | Description | Default |
|---|---|---|
--bucket <name> | Target S3 / R2 bucket name (required). | |
--access-key <key> | S3 Access Key ID / Cloudflare R2 Token ID (required). | |
--secret-key <sec> | S3 Secret Access Key / Cloudflare R2 Token Secret (required). | |
--endpoint <url> | Custom S3 endpoint URL (omit for standard AWS S3). | AWS Default |
--region <region> | S3 region (auto for Cloudflare R2, us-east-1 for AWS). | auto / us-east-1 |
--prefix <prefix> | Object storage root directory prefix. | backups |
--force-path-style | Force path-style addressing (http://host:port/bucket), required for MinIO. | false |
-a, --app <appId> | Application ID (omit to configure host server default). | Server default |
Configuration Examples:
Cloudflare R2:
eda s3 set \
--bucket "production-backups" \
--endpoint "https://<account-id>.r2.cloudflarestorage.com" \
--access-key "<r2-token-id>" \
--secret-key "<r2-token-secret>" \
--region "auto"Local MinIO / Self-Hosted S3:
eda s3 set \
--bucket "backups" \
--endpoint "http://192.168.1.100:9000" \
--access-key "minioadmin" \
--secret-key "minioadmin"Test Bucket Permissions:
eda s3 testVerifies write, read, and delete permissions on the bucket and reports status.
[!TIP] Server-Wide Environment Variables (
GLOBAL_S3_*): You can also configure default S3 storage directly on the host server by settingGLOBAL_S3_ENABLED=true,GLOBAL_S3_BUCKET,GLOBAL_S3_ACCESS_KEY_ID,GLOBAL_S3_SECRET_ACCESS_KEY, and optionalGLOBAL_S3_ENDPOINTin/opt/explita/deploy/.env. Any application without custom credentials automatically inherits this bucket.