Multi-Database Support
Supports MySQL, MariaDB, PostgreSQL, MongoDB, SQLite, Redis, Valkey, Microsoft SQL Server, and Firebird (beta).
Self-hosted solution for automating database and file backups with encryption, compression, and smart retention policies.
Get DBackup running in minutes with Docker:
docker run -d --name dbackup -p 3000:3000 \
-e ENCRYPTION_KEY="$(openssl rand -hex 32)" \
-e BETTER_AUTH_SECRET="$(openssl rand -base64 32)" \
-e BETTER_AUTH_URL="https://localhost:3000" \
-v "$(pwd)/data:/data" \
-v "$(pwd)/backups:/backups" \
skyfay/dbackup:latestservices:
dbackup:
image: skyfay/dbackup:latest
container_name: dbackup
restart: always
ports:
- "3000:3000"
environment:
- ENCRYPTION_KEY= # openssl rand -hex 32
- BETTER_AUTH_URL=https://localhost:3000
- BETTER_AUTH_SECRET= # openssl rand -base64 32
volumes:
- ./data:/data # All persistent data (db, storage, certs)
- ./backups:/backups # Optional: used for local backupsThen open https://localhost:3000 and create your first admin account (accept the self-signed certificate on first visit).
โ Full Installation Guide for Docker Compose, volumes, and production setup.
| Database | Versions | Connection Modes | Restore |
|---|---|---|---|
| PostgreSQL | 12, 13, 14, 15, 16, 17, 18 | Direct, SSH | Yes |
| MySQL | 5.7, 8.x, 9.x | Direct, SSH | Yes |
| MariaDB | 10.x, 11.x | Direct, SSH | Yes |
| MongoDB | 4.x, 5.x, 6.x, 7.x, 8.x | Direct, SSH | Yes |
| Redis | 2.8+ | Direct, SSH | Guided |
| Valkey | 7.2+ | Direct, SSH | Guided |
| SQLite | 3.x | Local, SSH | Yes |
| Microsoft SQL Server | 2017, 2019, 2022, Azure SQL Edge | Direct, SSH | Yes |
| Firebird (Beta) | 3.x, 4.x, 5.x | Direct, SSH | Yes (pre-configured aliases) |
DBackup is designed as a convenience layer, not a dependency.
Database backups are a standard dump (SQL, BSON, RDB, etc.), the same format you'd get from running pg_dump, mysqldump, or mongodump yourself. Even encrypted, they use open AES-256-GCM with a simple sidecar .meta.json file for the IV and auth tag. If DBackup is ever unavailable, you can still:
File backups are a plain TAR archive. Unencrypted, tar -xf backup.tar is the whole recovery procedure. Encrypted, the layout is specified byte by byte in the Archive Format reference, and the Recovery Kit's dbackup-recover.js is an independent implementation of that document - it lists and extracts single files with nothing but Node.js.
The Recovery Kit (downloadable from Vault) bundles everything you need: your encryption key, both scripts, and platform-specific helpers for Windows, Linux, and macOS.
TIP
Download your Recovery Kit after creating an Encryption Profile and store it offline (USB drive, password manager, printed). It's your safety net if DBackup or the server it runs on is no longer accessible.
Incremental backups store whole changed files and reference unchanged ones in earlier archives of the same chain. They do not use a content-addressed chunk store the way restic, Borg or Kopia do.
That costs storage: a renamed file is stored again, a one-byte change in a 10 GB file re-stores 10 GB, and nothing is deduplicated across jobs or chains. What it buys is that every archive stays a file you can open by hand, deleting a backup is deleting files rather than garbage collection, and a chain is a folder you can copy in any file browser.
If your data is mostly large binaries with small internal changes, a chunk-based tool is the better fit and we would rather say so. See the reasoning in full, or Backup Modes for what this means in practice.
DBackup is built with modern technologies:
The plugin-based adapter architecture makes it easy to add new databases, storage providers, or notification channels.
/docs/apiThe system architecture, infrastructure design, strict technology stack selection, and feature specifications for DBackup were entirely conceptualized and directed by a human System Engineer to solve real-world infrastructure challenges.
The application code was generated by AI coding agents following detailed architectural specifications and coding guidelines. All features were manually tested for correctness, stability, and real-world reliability. Automated unit tests (Vitest) and static security audits complement the manual QA process.
DBackup is thoroughly tested and used in production, but a formal manual security audit by an external developer has not yet been completed. If you are a software developer or cybersecurity professional, your expertise is highly welcome! We invite the open-source community to review the code, submit PRs, and help us elevate DBackup to a fully verified, enterprise-ready standard.
Security Disclosure: If you discover a security vulnerability, please do not open a public GitHub issue. Instead, report it responsibly via email to security@dbackup.app.