Databasement: Self-Hosted Backups for 8 Database Engines

1 min read
self-hostingdatabase-backupsdockerdevops
View as Markdown
Originally from david-crty.github.io
View source

My notes

Summary

Databasement is a self-hosted, single-container web app for centralizing database backups across mixed environments: MySQL, PostgreSQL, MariaDB, MSSQL, MongoDB, SQLite, Firebird, and Redis/Valkey. It handles scheduling, retention, cross-server restore, SSH-tunneled connections to private networks, and failure alerts, positioning itself as a lightweight alternative to writing and maintaining custom cron/mysqldump scripts.

Key Insight

  • A single Docker container bundles the web UI, queue worker, and scheduler, so there are no separate services to wire up, which is the main friction point in most homegrown backup setups.
  • Supports 8 database engines in one tool, so a mixed stack (e.g. Postgres + Mongo + Redis) doesn’t need separate backup scripts per engine.
  • SSH tunnel support means it can reach databases sitting behind a bastion or jump host, relevant for anything not directly exposed, such as a typical homelab or VPC setup.
  • Storage targets cover local disk, S3-compatible object storage, and SFTP/FTP, so both cheap local retention and offsite 3-2-1 backup patterns work without extra glue code.
  • Cross-server restore (a snapshot from server A restored to server B) is built in, useful for staging refreshes or migrating a database to new hardware, not just disaster recovery.
  • Failure notifications route through Email, Slack, Discord, Telegram, Pushover, Gotify, or Webhook, so a failed backup job doesn’t go silent until someone manually checks.
  • Ships a REST API and an MCP server specifically for AI assistant and CI/CD integration, notable because most self-hosted backup tools don’t expose an MCP surface yet.
  • PUID and PGID environment variables handle volume permission matching automatically, avoiding the usual root-owned-files headache with Docker bind mounts.