Dokploy includes a built-in backup system that can automatically dump and upload your databases to any S3-compatible object storage bucket on a cron schedule. Backups are managed per-service — each database or Compose stack can have its own independent backup schedule, destination, and retention policy — so you never have to rely on a separate cron server or third-party backup tool.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Nettalco/dokploy/llms.txt
Use this file to discover all available pages before exploring further.
Supported Backup Sources
Dokploy can back up the following service types:| Service Type | Backup Method |
|---|---|
| PostgreSQL | pg_dump |
| MySQL | mysqldump |
| MariaDB | mariadb-dump |
| MongoDB | mongodump |
| libsql | libsql snapshot |
| Docker Compose | Compose service backup |
| Web Server | Web server backup |
Redis backups are not included in the database backup system because Redis persistence (RDB / AOF) is managed within the container. Use Docker volume backups to protect Redis data.
Storage Destinations
All backups are uploaded to an S3-compatible storage destination configured at the organisation level. Any provider that speaks the S3 API is supported, including:- AWS S3
- MinIO (self-hosted)
- Backblaze B2 (with S3-compatible endpoint)
- Cloudflare R2
- DigitalOcean Spaces
- Vultr Object Storage
| Field | Description |
|---|---|
| Name | A friendly label for the destination |
| Provider | Optional label for the provider type |
| Endpoint | S3-compatible API endpoint URL |
| Region | Bucket region (e.g. us-east-1) |
| Bucket | Target bucket name |
| Access Key | S3 access key ID |
| Secret Access Key | S3 secret access key |
| Additional Flags | Extra rclone flags for advanced configuration |
Configuring a Backup
Open the database service
Navigate to the project and click on the database you want to back up (e.g. a PostgreSQL service).
Add a backup
Click Add Backup. A form appears with the following fields:
- Destination — select a previously configured S3 destination.
- Database — the specific database name to dump (defaults to the service’s configured database).
- Prefix — a path prefix inside the bucket for organising backup files (e.g.
production/postgres). - Schedule — a cron expression defining when the backup runs.
- Keep Latest N — how many backup files to retain; older files are deleted automatically.
- Enabled — toggle to activate or suspend the schedule without deleting the configuration.
Cron Schedule Examples
Manual Backups
You can trigger a backup at any time without waiting for the scheduled run. From the Backups tab on any database service, click the Run Now (or Manual Backup) button next to a configured backup entry. The backup job runs immediately and uploads to the configured destination. Manual backups are available for all supported service types:manualBackupPostgresmanualBackupMySqlmanualBackupMariadbmanualBackupMongomanualBackupLibsqlmanualBackupComposemanualBackupWebServer
Listing Backup Files
The Backup Files browser lets you inspect what has been uploaded to a destination without leaving the Dokploy dashboard. Navigate to Settings → Destinations, select a destination, and use the file browser to search for and navigate backup objects stored in the bucket. Files are listed usingrclone lsjson and include the path, name, and size. The browser returns up to 100 matching files per search query and supports prefix-based directory navigation.
Restoring a Backup
Dokploy supports streaming restore operations directly from the dashboard. From the Backups tab, click Restore on a backup entry, select the backup file from the list, and confirm. Restore progress is streamed to the UI in real time. Supported restore targets mirror the backup sources:- PostgreSQL →
pg_restore/psql - MySQL →
mysql - MariaDB →
mariadb - MongoDB →
mongorestore - libsql → libsql restore
- Docker Compose → Compose service restore
- Web Server → web server restore