Databasement: self-hosted бэкап баз данных в Docker

Баннер проекта Databasement

Современное self-hosted приложение для управления резервным копированием баз данных: MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, MongoDB, SQLite, Firebird и Redis.


Возможности

  • Поддержка множества СУБД — управляйте серверами MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, MongoDB, SQLite, Firebird и Redis/Valkey из единого интерфейса

  • SSH-туннели — подключайтесь к базам данных в закрытых сетях через промежуточный (bastion/jump) сервер с аутентификацией по паролю или ключу

  • Удалённые агенты — выполняйте резервное копирование в изолированных или защищённых фаерволом сетях без открытых входящих портов: лёгкий агент устанавливает исходящее соединение по HTTPS, создаёт дамп локально и загружает его в хранилище

  • Автоматизированное резервное копирование — задавайте расписание ежедневных или еженедельных резервных копий. Гибкие политики хранения: простая (по количеству дней) или GFS (дедушка — отец — сын)

  • Несколько вариантов сжатия — gzip, zstd (сжатие на 20–40% эффективнее) или шифрование (AES-256 для конфиденциальных данных)

  • Восстановление между серверами — восстанавливайте снимки из продуктивной среды на стейджинг или между любыми совместимыми серверами

  • Восстановление по расписанию — регулярно обновляйте целевую базу данных, воспроизводя последний завершённый снимок (например, каждую ночь prod → staging)

  • Встроенный браузер данных — открывайте Adminer прямо в приложении для просмотра серверов MySQL, PostgreSQL и SQLite (доступно администраторам с учётом ролей)

  • Гибкое хранилище — сохраняйте резервные копии локально, в S3-совместимых хранилищах (AWS S3, MinIO и др.), Azure Blob Storage, Samba/SMB-ресурсах или на удалённых серверах по SFTP/FTP

  • Мониторинг в реальном времени — отслеживайте ход резервного копирования и восстановления в подробных журналах заданий

  • Уведомления об ошибках — получайте оповещения через Email, Slack, Discord, Telegram, Pushover, Gotify или Webhook при сбое задания

  • Работа в команде — мультиарендные организации с изолированными рабочими пространствами, ролевой моделью доступа, входом через OAuth/SSO (Google, GitHub, GitLab, OpenID Connect) и опциональной двухфакторной аутентификацией

  • Автоматизация — REST API и MCP-сервер для скриптов, CI/CD-конвейеров и интеграции с AI-ассистентами

  • Простое развёртывание — один Docker-контейнер со встроенным веб-сервером, обработчиком очередей и планировщиком

Попробуйте прямо сейчас! Зайдите на живую демонстрацию, чтобы оценить Databasement в действии перед установкой.

Self-Hosting

Databasement создан для самостоятельного размещения. Доступно несколько вариантов развёртывания:

Способ Описание Руководство

Docker

Развёртывание в одном контейнере

Открыть руководство

Docker Compose

Многоконтейнерная схема с внешней базой данных

Открыть руководство

Kubernetes + Helm

Для Kubernetes-кластеров

Открыть руководство

Native Ubuntu

Традиционная установка без Docker

Открыть руководство

Быстрый старт

# Запустить контейнер
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

Откройте http://localhost:2226 и создайте первый аккаунт администратора.

Примечание: Контейнер автоматически настраивает права доступа к тому (volume). Для соответствия идентификаторам пользователя и группы в вашей системе используйте переменные окружения PUID и PGID.

Для продуктивных развёртываний обратитесь к руководству по конфигурации, где описаны переменные окружения и рекомендации по эксплуатации.

Поддерживаемые версии СУБД

Движок Поддерживаемые версии Утилита CLI Восстановление

MySQL

5.6, 5.7, 8.x, 9.x

mariadb-dump

Да

MariaDB

10.x, 11.x, 12.x

mariadb-dump

Да

PostgreSQL

12, 13, 14, 15, 16, 17, 18

pg_dump v18

Да

SQL Server

2017, 2019, 2022, Azure SQL

sqlpackage (.dacpac)

Да

MongoDB

4.2, 4.4, 5.0, 6.0, 7.0, 8.0

mongodump / mongorestore

Да

SQLite

3.x

sqlite3 .backup

Да

Firebird

3.x, 4.x, 5.x

gbak v5

Да

Redis

2.8+

redis-cli --rdb

Нет

Valkey

7.2+

redis-cli --rdb

Нет

Подробности о резервном копировании и восстановлении для конкретных версий — в документации по серверам баз данных.

Автоматизация

Управлять Databasement можно программно через REST API и MCP-сервер, что позволяет интегрировать его в скрипты, CI/CD-конвейеры и AI-ассистенты.

  • REST API — полноценный API для управления серверами, резервными копиями и восстановлением. См. документацию по API.

  • MCP-сервер — подключайте AI-ассистентов (Claude Code, Cursor, VS Code Copilot и др.) для управления резервными копиями на естественном языке. См. документацию по MCP.

Документация

Полная документация доступна на сайте david-crty.github.io/databasement.

Для языковых моделей и AI-ассистентов документация также публикуется в формате llmstxt.org:

  • llms.txt — индекс всех страниц документации

  • llms-full.txt — полное содержимое документации в одном файле

Ошибки и пожелания

Нашли ошибку? Пожалуйста, создайте issue с шагами для воспроизведения.

Есть идея для новой функции? Сначала откройте обсуждение, чтобы совместно оценить, вписывается ли она в концепцию проекта.

Участие в разработке

Мы рады вашему вкладу! Прежде чем отправлять pull request, пожалуйста:

  1. Проверьте существующие issues и обсуждения, чтобы избежать дублирования

  2. При значительных изменениях сначала откройте issue для обсуждения подхода

  3. Следуйте руководству разработчика для настройки окружения

Небольшие исправления (опечатки, улучшения документации) можно отправлять напрямую как PR.

Безопасность

Если вы обнаружили уязвимость, пожалуйста, сообщите о ней ответственным образом. Подробности — в файле SECURITY.md.

Лицензия

Databasement — программное обеспечение с открытым исходным кодом, распространяемое под лицензией MIT.

© 2026 meganuke