- PHP 81.2%
- Blade 17.3%
- Shell 0.5%
- Makefile 0.3%
- Smarty 0.3%
- Other 0.4%
| .github | ||
| .husky | ||
| app | ||
| bootstrap | ||
| config | ||
| database | ||
| docker | ||
| docs | ||
| helm/databasement | ||
| lang | ||
| public | ||
| resources | ||
| routes | ||
| storage | ||
| tests | ||
| .dockerignore | ||
| .editorconfig | ||
| .env | ||
| .gitattributes | ||
| .gitignore | ||
| .mcp.json | ||
| artisan | ||
| boost.json | ||
| CLAUDE.md | ||
| composer.json | ||
| composer.lock | ||
| docker-compose.yml | ||
| Dockerfile | ||
| LICENSE | ||
| Makefile | ||
| package-lock.json | ||
| package.json | ||
| phpstan.neon | ||
| phpunit.xml | ||
| pint.json | ||
| README.md | ||
| rector.php | ||
| SECURITY.md | ||
| test-docker.sh | ||
| vite.config.js | ||
A modern, self-hosted database backup management application for MySQL, PostgreSQL, MariaDB, MongoDB, SQLite, and Redis.
Live Demo · Documentation · Report Bug or Request Feature ·
Features
- Multi-database support — Manage MySQL, PostgreSQL, MariaDB, MongoDB, SQLite, and Redis/Valkey servers from a single interface
- SSH tunnel support — Connect to databases in private networks through a bastion/jump server with password or key-based authentication
- Automated backups — Schedule recurring backups on daily or weekly intervals. Flexible retention policies: simple time-based (days) or GFS (grandfather-father-son)
- Multiple compression options — gzip, zstd (20-40% better compression), or encrypted (AES-256 for sensitive data)
- Cross-server restore — Restore snapshots from production to staging, or between any compatible servers
- Flexible storage — Store backups locally, on S3-compatible storage (AWS S3, MinIO, etc.), or remote servers via SFTP/FTP
- Real-time monitoring — Track backup and restore progress with detailed job logs
- Failure notifications — Get alerted via Email, Slack, Discord, Telegram, Pushover, Gotify, or Webhook when jobs fail
- Team ready — Multi-user support with role-based access and optional two-factor authentication
- Automation — REST API and MCP server for scripting, CI/CD, and AI assistant integration
- Simple deployment — Single Docker container with built-in web server, queue worker, and scheduler
Try it out! Explore the live demo to see Databasement in action before installing.
Self-Hosting
Databasement is designed to be self-hosted. We provide several deployment options:
| Method | Description | Guide |
|---|---|---|
| Docker | Single container deployment | View Guide |
| Docker Compose | Multi-container setup with external database | View Guide |
| Kubernetes + Helm | For Kubernetes clusters | View Guide |
| Native Ubuntu | Traditional installation without Docker | View Guide |
Quick Start
# Run the container
docker run -d \
--name databasement \
-p 2226:2226 \
-e DB_CONNECTION=sqlite \
-e DB_DATABASE=/data/database.sqlite \
-e ENABLE_QUEUE_WORKER=true \
-v ./databasement-data:/data \
davidcrty/databasement:latest
Open http://localhost:2226 and create your first admin account.
Note: The container automatically handles volume permissions. You can use
PUIDandPGIDenvironment variables to match your system's user/group IDs.
For production deployments, see our configuration guide for environment variables and best practices.
Supported Database Versions
| Engine | Supported Versions | CLI Tool | Restore |
|---|---|---|---|
| MySQL | 5.6, 5.7, 8.x, 9.x | mariadb-dump |
Yes |
| MariaDB | 10.x, 11.x, 12.x | mariadb-dump |
Yes |
| PostgreSQL | 12, 13, 14, 15, 16, 17, 18 | pg_dump v18 |
Yes |
| MongoDB | 4.2, 4.4, 5.0, 6.0, 7.0, 8.0 | mongodump / mongorestore |
Yes |
| SQLite | 3.x | File copy | Yes |
| Redis | 2.8+ | redis-cli --rdb |
No |
| Valkey | 7.2+ | redis-cli --rdb |
No |
See the Database Servers documentation for version-specific backup and restore details.
Automation
Databasement can be managed programmatically through its REST API and MCP server, enabling integration with scripts, CI/CD pipelines, and AI assistants.
- REST API — Full API for managing servers, backups, and restores. See the API documentation.
- MCP Server — Connect AI assistants (Claude Code, Cursor, VS Code Copilot, etc.) to manage backups through natural language. See the MCP documentation.
Documentation
Full documentation is available at david-crty.github.io/databasement.
Issues & Feature Requests
Found a bug? Please open an issue with reproduction steps.
Have an idea for a new feature? Start a discussion first so we can evaluate together whether it fits the project scope.
Contributing
Contributions are welcome! Before submitting a pull request, please:
- Check existing issues and discussions to avoid duplicates
- For significant changes, open an issue first to discuss the approach
- Follow the development guide for setup instructions
Small fixes (typos, documentation improvements) can be submitted directly as PRs.
Security
If you discover a security vulnerability, please report it responsibly. See SECURITY.md for details.
License
Databasement is open-source software licensed under the MIT License.