databasement

databasement

Docker app from ZappyZap's Repository

Overview

Databasement is a web application for managing database server backups. It allows you to register database servers (MySQL, PostgreSQL, MariaDB), test connections, schedule automated backups, and restore snapshots to any registered server. The APP_KEY is required for encryption. Generate one with: docker run --rm davidcrty/databasement:latest php artisan key:generate --show Copy the output (e.g., base64:xxxx...) and set it as APP_KEY.

Databasement Banner

Code Coverage CI Status Artifact Hub Docker Pulls Known Vulnerabilities

A 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 PUID and PGID environment 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:

  1. Check existing issues and discussions to avoid duplicates
  2. For significant changes, open an issue first to discuss the approach
  3. 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.

Open the Apps tab on your Unraid server Search Community Apps for Databasement Review the template variables and paths Click Install

Download Statistics

398,093
Total Downloads
82,245
This Month
69,435
Avg / Month

Total Downloads Over Time

Loading chart...

Related apps

Details

Repository
davidcrty/databasement:latest
Last Updated2026-06-26
First Seen2026-01-07

Runtime arguments

Web UI
http://[IP]:[PORT:2226]
Network
bridge
Shell
sh
Privileged
false

Template configuration

WEBUIPorttcp

Web UI

Target
2226
Default
2226
Value
2226
Data DirectoryPathrw
Target
/data
Value
/mnt/user/appdata/databasement/data
application keyVariable

# Generate an application key docker run --rm davidcrty/databasement:latest php artisan key:generate --show

Target
APP_KEY
DB_CONNECTIONVariable
Default
sqlite
Value
sqlite
Database File locationVariable
Target
DB_DATABASE
Default
/data/database.sqlite
Value
/data/database.sqlite
ENABLE_QUEUE_WORKERVariable

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
TRUSTED_PROXIESVariable

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
*