All apps · 0 apps
databasement
Docker app from ZappyZap's Repository
Overview
Readme
View on GitHubA modern, self-hosted database backup management application for MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, MongoDB, SQLite, Firebird, and Redis.
Live Demo · Documentation · llms.txt · Report Bug or Request Feature
Features
- Multi-database support - Manage MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, MongoDB, SQLite, Firebird, 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
- Remote agents - Back up databases in firewalled or isolated networks with no inbound port: a lightweight agent connects out over HTTPS, dumps locally, and uploads to your storage
- 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
- Scheduled restores - Refresh a target database on a recurring schedule (e.g. nightly prod → staging) by replaying the latest completed snapshot
- Built-in data browser - Open Adminer in-app to inspect MySQL, PostgreSQL, and SQLite servers (admin-enabled, role-gated)
- 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-tenant organizations with isolated workspaces, role-based access control, OAuth/SSO login (Google, GitHub, GitLab, OpenID Connect), 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:1
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 |
| SQL Server | 2017, 2019, 2022, Azure SQL | sqlpackage (.dacpac) |
Yes |
| MongoDB | 4.2, 4.4, 5.0, 6.0, 7.0, 8.0 | mongodump / mongorestore |
Yes |
| SQLite | 3.x | sqlite3 .backup |
Yes |
| Firebird | 3.x, 4.x, 5.x | gbak v5 |
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.
For LLMs and AI assistants, the documentation is also published in the llmstxt.org format:
- llms.txt — index of all documentation pages
- llms-full.txt — full documentation content in a single file
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.
Install Databasement on Unraid in a few clicks.
Find Databasement in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Categories
Download Statistics
Total Downloads Over Time
Related apps
Explore more like this
Explore allLinks
Details
davidcrty/databasement:latestRuntime arguments
- Web UI
http://[IP]:[PORT:2226]- Network
bridge- Shell
sh- Privileged
- false
Template configuration
Web UI
- Target
- 2226
- Default
- 2226
- Value
- 2226
- Target
- /data
- Value
- /mnt/user/appdata/databasement/data
# Generate an application key docker run --rm davidcrty/databasement:latest php artisan key:generate --show
- Target
- APP_KEY
- Default
- sqlite
- Value
- sqlite
- Target
- DB_DATABASE
- Default
- /data/database.sqlite
- Value
- /data/database.sqlite
The ENABLE_QUEUE_WORKER=true environment variable enables the background queue worker inside the container. This is required for processing backup and restore jobs. When using Docker Compose, the worker runs as a separate service instead.
- Default
- True
- Value
- True
127.0.0.1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,::1') - This covers all RFC 1918 private ranges * - Trust all proxies (suitable for Kubernetes/Docker where proxy IPs are dynamic) Comma-separated IPs: 10.0.0.1,192.168.1.0/24 - Trust specific proxies Empty - Trust no proxies
- Default
- *
- Value
- *