🏠 ホーム ニュース 📖 解説記事 📚 トピック解説 🏷️ タグ一覧 ℹ️ About
ツール
💰 API料金計算機 NEW
🔍 記事を検索
カテゴリ
📡 RSSフィード
Follow
X (Twitter) 🧵 Threads
🔧 ツール
💰API料金計算機
トピック
🧠 Claude Code 🤖 AIエージェント 🎵 AIコーディング / Vibe Coding 🔌 MCP(Model Context Protocol) 🔍 RAG & ナレッジシステム 💬 LLM / ローカルAI 🔒 セキュリティ ⚙️ DevOps & 自動化 💰 Claude API & 料金 🎨 UI生成 & デザインシステム
ニュース一覧 🏷️タグから探す
Subscribe
📡 RSSフィード
ホーム tool 2026.05.01

Databasement完全解説:MySQL/PostgreSQL/MongoDBを一括管理するセルフホスト型バックアップOSS

David-Crty/databasement
💾
Databasement完全解説:MySQL/PostgreSQL/MongoDBを一括管理するセルフホスト型バックアップOSS - AIツール日本語解説 | AI Heartland
MySQL・PostgreSQL・MongoDBなど複数エンジンが混在する現場では、バックアップスクリプトがサーバーごとに散らばりがち。DatabasementはWebUIで集中管理し、SSH越しの本番DBにも安全に接続できるOSSとして注目を集めている。

「本番DBのバックアップ、ちゃんと取れていますか?」と聞かれて即答できるチームは意外と少ない。MySQL・PostgreSQL・MongoDBなど複数エンジンが混在する現場ではcronとシェルスクリプトが乱立し、誰がどのDBをいつバックアップしているか把握できないまま運用が続いてしまう。Databasementはそんな散らばったバックアップ運用を単一のWebUIに集約するセルフホスト型OSSだ。MIT・PHP(Laravel)製で、Docker1コマンドで起動し、SSHトンネル経由のプライベート接続、AES-256暗号化、S3/SFTP保存、MCPサーバー経由のAI連携まで網羅する。

この記事ではセルフホスト型のDBバックアップ管理OSS Databasementを解説します。AI時代の自動化ツール全体像についてはAI自動化ツール|ノーコードからコードまで2026年版の比較と選び方をご覧ください。

この記事のポイント

  • DatabasementはMySQL・PostgreSQL・MariaDB・MongoDB・SQLite・Redis/Valkeyを単一画面で管理できるセルフホスト型バックアップOSS(MITライセンス、★379)
  • SSHトンネル接続・AES-256暗号化・S3互換ストレージ・GFSリテンションに対応し、エンタープライズ要件にもDocker一発で応える
  • REST APIに加えMCPサーバーが組み込まれており、Claude CodeやCursorからの自然言語操作が可能

Databasement banner

Databasementとは何か:散らばるバックアップを1画面に集約するOSS

DatabasementはDavid-Crty氏が公開しているセルフホスト型データベースバックアップ管理アプリケーションだ。2026年4月時点で★379、最新版は4月29日リリースのv1.1.4、PHP(81%)+ Laravelで実装されている。「DB管理者がやることを全部1つの画面に詰め込んだダッシュボード」と表現するのが近い。

従来のバックアップ運用は次の問題を抱えていた。

Databasementはこれらを単一のDocker コンテナに収めることで解決する。WebUIから接続情報を登録し、スケジュールを設定すれば、後はキューワーカーが自動で取得・圧縮・暗号化・転送・通知まで行う。

設計思想:「自前で構築できるBackBlazeのようなUI」を目指しており、設定画面はSaaS製品と遜色ない。一方でデータは100%自社インフラに留まる。GDPR・改正個人情報保護法・PCI DSSなど、データの越境を許さない要件下でも導入しやすい。

対応データベースとストレージ:6エンジン × 4ストレージのマトリクス

Databasementの強みは「対応の幅広さ」にある。1つのインスタンスでリレーショナル・ドキュメント・KVS・組み込み型まで横断管理できる。

対応データベース

エンジン バックアップ方式 増分対応 備考
MySQL mysqldump × 5.7/8.0系で動作確認
PostgreSQL pg_dump × カスタムフォーマット出力可
MariaDB mysqldump派生 × MySQLとほぼ同等
MongoDB mongodump × 認証DB指定可
SQLite ファイルコピー × ロック不要のオンライン取得
Redis / Valkey RDBスナップショット × Valkey 7系も動作

対応ストレージ(保存先)

ストレージ 用途 特徴
ローカルディスク 検証・小規模 コンテナ内ボリュームに保存
S3互換 本番運用 AWS S3/Backblaze B2/MinIO/Wasabi/Cloudflare R2
SFTP オンプレ移送 SSH鍵認証で安全に外部サーバーへ
FTP レガシー連携 パッシブモード対応

S3互換が広く使えるため、コスト最適化のためBackblaze B2やCloudflare R2へ逃がす運用がしやすい。「本番MySQLは毎日Backblaze B2、月次はAWS S3 Glacier」のような階層運用もWebUIだけで設計できる。

アーキテクチャ:シングルコンテナで完結する設計

Databasementは「バックアップ取得→圧縮→暗号化→転送→通知」までを内部のキュー処理で完結させる。Laravel Horizon相当のキューワーカーがENABLE_QUEUE_WORKER=trueで同居起動し、外部のRedisやSidekiqを別途用意する必要がない。

flowchart LR A["WebUI
(Laravel + Blade)"] --> B["Job Queue
(SQLite/Postgres)"] B --> C{"Worker"} C -->|"mysqldump
pg_dump
mongodump"| D["Source DB
(SSH Tunnel可)"] C --> E["圧縮
(gzip / zstd)"] E --> F["暗号化
(AES-256)"] F --> G{"保存先"} G --> H["S3 / R2 / B2"] G --> I["SFTP / FTP"] G --> J["Local Volume"] C --> K["通知
Slack / Discord
Telegram / Email"]

このシンプルさはコンテナ運用と相性が良い。LogBullのようにSQLiteで状態を持つアプローチを採用しているため、外部DBレスでも動作する。永続化が必要なデータは/dataボリューム1つに集約され、可搬性が高い。ログ収集の自前運用についてはLog Bull徹底解説:Docker一発で立つOSSログ収集システム、ELK/Lokiの軽量代替も併せて参照したい。

クイックスタート:Dockerで2分で起動

公式が提示している最短手順は次の通り。SQLiteを使い、ボリュームをカレントディレクトリのdatabasement-dataに置く構成だ。

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にアクセスし、初期管理者アカウントを作成する。ENABLE_QUEUE_WORKER=trueはワーカーをコンテナ内で同時起動するフラグで、これを忘れるとUIから「キューにジョブを入れたまま実行されない」状態になる。

docker-composeでの本番構成例

PostgreSQLを永続化バックエンドにし、別ホストのMySQLをバックアップ対象にする想定で書くと次のようになる。

services:
  databasement:
    image: davidcrty/databasement:1
    container_name: databasement
    restart: unless-stopped
    ports:
      - "2226:2226"
    environment:
      DB_CONNECTION: pgsql
      DB_HOST: db
      DB_PORT: 5432
      DB_DATABASE: databasement
      DB_USERNAME: databasement
      DB_PASSWORD: ${DB_PASSWORD}
      ENABLE_QUEUE_WORKER: "true"
      APP_KEY: ${APP_KEY}
      APP_URL: https://backup.example.com
    volumes:
      - ./data:/data
    depends_on:
      - db

  db:
    image: postgres:16-alpine
    restart: unless-stopped
    environment:
      POSTGRES_DB: databasement
      POSTGRES_USER: databasement
      POSTGRES_PASSWORD: ${DB_PASSWORD}
    volumes:
      - ./pgdata:/var/lib/postgresql/data

APP_KEYphp artisan key:generate --show相当で生成した32バイトのbase64文字列が必要だ。コンテナ内で一度docker execして取得するか、Laravelで使える既存のキー生成手段で発行しておく。

Kubernetesへのデプロイ

公式リポジトリ配下にcharts/としてHelmチャートが提供されている。永続ボリューム・Ingress・サブパス配信に対応しており、社内基盤での標準デプロイに向く。

helm repo add databasement https://david-crty.github.io/databasement-helm
helm install backup databasement/databasement \
  --set ingress.enabled=true \
  --set ingress.hosts[0].host=backup.example.com \
  --set persistence.size=50Gi

スケジュールと保持ポリシー:GFSで世代管理する

Databasementの真価はスケジューリングにある。WebUIで対象DBを選び、cron式で取得頻度を、リテンションで保持期間を指定するだけで世代管理が始まる。

サポートされる保持戦略

戦略 説明 想定ユース
期間ベース 「30日間保持」のように単純なTTL 開発DB、変更頻度の高いDB
GFS Grandfather-Father-Sonの3階層世代管理 本番運用、コンプラ要件あり
個別タグ 「リリース直前」など名前付きで永続保持 デプロイ前後の手動セーフポイント

GFS(Grandfather-Father-Son)は古典的な世代管理戦略で、「日次7世代+週次4世代+月次12世代」のように複数粒度で残す。Databasementはこれを設定UIから直接定義でき、ストレージコストと復旧粒度のバランスが取りやすい。

スケジュール例

# 毎日午前3:00に実行(タイムゾーンはApp設定に従う)
0 3 * * *

# 平日のみ午前2:00
0 2 * * 1-5

# 1時間ごと
0 * * * *

cron欄は秒単位ではなく一般的な5フィールド形式。タイムゾーンはコンテナのTZ環境変数あるいはアプリ設定で統一される。

SSHトンネル接続とセキュリティ機能

本番DBはVPCやプライベートサブネットの内側にあり、外部から直接接続できない構成が一般的だ。DatabasementはSSHトンネルをネイティブサポートし、踏み台サーバー越しに対象DBへ到達できる。

設定項目は以下のとおり。

これにより「踏み台に手動でSSH→ダンプ→S3にアップ」というオペレーションを完全に自動化できる。

暗号化と認証

機能 詳細
バックアップ暗号化 AES-256-CBC、ユーザー指定パスフレーズ/自動生成キー
圧縮 gzip/zstd(高速・高圧縮率の選択可)
認証 メールアドレス+パスワード、TOTPベースの2FA
認可 ロールベース(Admin / Operator / Viewer想定)
監査 操作ログを内部DBに保存

データ越しの暗号化が前提になっているため、S3バケット側のSSE-KMSと組み合わせれば二重暗号化になる。コンプライアンス監査時に「鍵管理は誰の責任か」を明確に説明できる構成だ。

REST APIとMCPサーバー:CIとAIから操作する

Databasementは「人がブラウザで操作する」だけのツールではない。REST APIに加え、Model Context Protocol(MCP)サーバーを公式で同梱している。これがインフラOSSとしてはかなり先進的な点だ。

REST APIの典型的な使い方

CI/CDから手動バックアップを差し込みたいケースを考える。たとえばマイグレーション直前にスナップショットを残しておくユースケースだ。

# トリガーのみ。実行はキュー任せ
curl -X POST "https://backup.example.com/api/v1/jobs/123/run" \
  -H "Authorization: Bearer ${DBM_TOKEN}" \
  -H "Content-Type: application/json"

# 完了状況をポーリング
curl -X GET "https://backup.example.com/api/v1/jobs/123/runs/latest" \
  -H "Authorization: Bearer ${DBM_TOKEN}"

GitHub Actionsからこれを叩けば、リリースワークフローに「バックアップ完了を待ってからマイグレーションを流す」フェーズを組み込める。

MCPサーバーでClaude Code/Cursorから操作

Databasement v1.1系からはMCPサーバーが組み込まれており、Claude CodeやCursorのMCP設定から接続するだけでAIエージェントから操作できる。

{
  "mcpServers": {
    "databasement": {
      "command": "npx",
      "args": ["@databasement/mcp", "--url", "https://backup.example.com", "--token", "${DBM_TOKEN}"]
    }
  }
}

これを設定しておくとClaude Codeに「本番MySQLのバックアップを今すぐ取って、終わったらSlackに通知」と話しかけるだけで、ジョブの実行・状態監視・通知設定変更まで自然言語で完結する。日々のSREオペレーションが対話で進められるようになるのは、2026年のAI×インフラ運用の象徴的な体験だ。

通知チャンネルと監視:失敗したらすぐ気づく仕組み

バックアップ運用最大の落とし穴は「失敗したのに気づかないこと」だ。Databasementは7つの通知チャンネルを内蔵しており、組織のコミュニケーション基盤に合わせて選択できる。

チャンネル 主な用途
Email 監査ログ・週次サマリ
Slack エンジニアリングチームのリアルタイム通知
Discord OSS/コミュニティ運営の現場
Telegram モバイル即応のSRE
Pushover 個人の常駐デバイスへ通知
Gotify 自前のpush通知サーバー
Webhook PagerDuty/Opsgenieなどへの統合

通知ルールは「失敗時のみ」「成功時も含む」「2回連続失敗時」のように粒度を変えられる。ノイズになりすぎず、本当に必要なときだけページングする運用が実現しやすい。

リアルタイム監視ダッシュボードはジョブごとの実行履歴・所要時間・転送サイズをグラフ化する。トレンドが見えるので「最近MongoDBのダンプが30%重くなった」のような兆候を早期に拾える。

類似ツールとの比較:BackupNinja・SimpleBackups・PgBackRestと何が違うか

DBバックアップOSSは古くから存在するが、Databasementは「マルチエンジン×WebUI×MCP対応」が同居する点で独自性がある。

ツール 対象DB 形態 強み 弱み
Databasement MySQL/PG/Maria/Mongo/SQLite/Redis セルフホストWeb マルチエンジン・MCP・SSHトンネル 増分バックアップ非対応
BackupNinja 多数(拡張ハンドラ) CLI/cron 軽量・スクリプト派に向く UIなし、設定が分散
PgBackRest PostgreSQL専用 CLI PITR、増分バックアップ、並列 PG以外には使えない
Percona XtraBackup MySQL/MariaDB CLI ホットバックアップ、増分 MySQL系のみ
SimpleBackups 多数 SaaS UI洗練・運用不要 データが外部、コスト

「PostgreSQLしか使わないし、PITRが欲しい」ならPgBackRestが王道だ。一方で現場のDB構成が混在していて、人と機械の両方から扱える管理面が欲しいならDatabasementが最も近い選択肢になる。

想定ユースケースと導入時の注意点

向いているシーン

注意すべきポイント

インフラコスト最適化の観点では、Infracost活用ガイド:Terraformのクラウドコストをデプロイ前に可視化するOSSツール完全解説と組み合わせて、バックアップストレージのコスト試算をTerraformレベルで管理するのも有効だ。

まとめ:DBバックアップを「整理整頓」するタイミング

DBバックアップは「動いてさえいれば見直さない」領域になりやすい。だが、複数エンジンを並行運用しているチームにとって、Databasementは散らかったcronとスクリプトを一気に整理する好機を与えてくれる。MIT・Docker一発・MCP対応という現代的なパッケージングで、しかも自社インフラに閉じ込められる。SaaSバックアップに払っていた料金を見直すきっかけにもなる。

まずはローカルでdocker runしてみて、開発DBを1本繋いでみるのが最短ルートだ。WebUIの完成度に驚くはずだ。

FAQ

Q. 既存のmysqldump/pg_dumpスクリプトと共存できますか?

A. 対象DBから取得する経路はDatabasement専用ではないため、共存可能です。ただしロックタイミングが重なるとパフォーマンス影響が出るため、スケジュールはずらしてください。段階的に既存cronを停止し、Databasementに統合していくのがおすすめです。

Q. PITR(ポイントインタイムリカバリ)はできますか?

A. v1.1.4時点では論理ダンプベースのスナップショットのみで、PITRは未対応です。PostgreSQLでPITRが必要な場合はPgBackRestと併用するのが現実的です。

Q. MCPサーバーは安全に使えますか?

A. APIトークンベースの認証で動作します。トークンはユーザーごとに発行・失効でき、操作はDatabasement内の監査ログに残ります。ただしClaude Code側でトークンを平文で扱う場面があるため、必要最小限のスコープで発行することを推奨します。

Q. Backblaze B2やCloudflare R2は本当に使えますか?

A. S3互換APIをサポートしているストレージなら原則動作します。エンドポイントURLとアクセスキー/シークレットキーをUIから設定するだけで、AWS S3と同じ使い勝手で利用できます。R2は外向け転送量が無料のため、海外DBから取得する構成で特に相性が良いです。

Q. データを世代管理しているとストレージが膨らみます。コスト最適化の方法は?

A. GFS設定で「日次7/週次4/月次12」のように粒度を分けて残し、月次バックアップだけGlacier相当の安価なストレージに転送するのが定番です。S3 Lifecycleルールで自動アーカイブも可能です。

Q. ハードウェア要件はどの程度?

A. 公式の最小構成は1vCPU/1GB RAMです。実際にはバックアップ対象が多くなるとCPU使用率が上がるため、本番運用では2vCPU/4GB RAMを目安にすると安定します。同時並列ジョブ数はQUEUE_WORKERS相当の環境変数でチューニングでき、ストレージ転送がボトルネックになるケースが多いのでネットワーク帯域も併せて確認してください。

Q. 復旧訓練(リストアテスト)は自動化できますか?

A. REST APIでリストアジョブをトリガーできるため、定期的に「別環境にリストアして件数を確認」というジョブをCIで回す運用が可能です。バックアップが取れているだけでなく、実際にリストアできる状態を保証する仕組みをセットで作ることを強く推奨します。

参照ソース

B!
B! この記事をはてブに追加
🔌
MCP(Model Context Protocol)
MCPサーバーの作り方、活用事例、A2Aプロトコルとの比較 →
広告
GitHub で見る
役に立ったらシェアをお願いします
🔔 AI速報、毎日Xで配信中
Claude Code・MCP・AIエージェントの最新ニュースをいち早くお届け
@peaks2314 をフォロー
記事の信頼性について
AI Heartland エディトリアルポリシーに基づき作成
複数ソース照合
公式情報・報道等を突き合わせて確認
ファクトチェック済
ソースURLの内容を検証
参照ソース明記
記事末尾に引用元を掲載
関連記事
🗺️ Terravision:TerraformコードからAWSアーキテクチャ図を自動生成するOSSツール
TerraformコードからAWS/GCP/Azureのアーキテクチャ図を自動生成するOSS「Terravision」の解説。200以上のAWSサービス対応、インタラクティブHTML出力、draw.io形式エクスポート、OllamaやBedrockによるAIアノテーション、CI/CD連携まで。AGPL-3.0。
2026.05.01
🎨 Open Design:Claude DesignのOSS代替、72デザインシステム×10AIエージェント対応
Anthropic Claude Designのオープンソース代替「Open Design」解説。31スキル・72デザインシステム・10のAIエージェント連携をローカルで無料実行。Anti-AI-slop機構と5次元スコアリングでUI品質を担保。Apache 2.0ライセンス。
2026.05.01
🛰️ Sentrux徹底解説:AIエージェント時代の「コード品質センサー」、Rust製OSSでClaude Codeと連携
Sentrux(GitHub 1.4kスター・MIT・Rust製)は、AIエージェントのフィードバックループを閉じる「アーキテクチャセンサー」。5つのメトリクス(モジュラリティ・非循環性・深さ・均等性・冗長性)でコード品質を0〜10000点で測定。Claude CodeへのMCP統合で、エージェント生成コードの構造劣化を即時検知する。
2026.04.30
☁️ MiniStack徹底解説:MIT・無料のAWSローカルエミュレータ、LocalStack有償化への対抗馬
MiniStack(GitHub 2.4kスター・MIT)は40+のAWSサービスをローカル4566ポートで実装する無料・OSSのエミュレータ。LocalStackが有償化(BSL)した今、無料代替として急成長中。RDS/ElastiCache/EKSは実コンテナを起動するなど独自の強みあり。LocalStack/Vercel Emulateとの徹底比較。
2026.04.30
Popular
#1 POPULAR
🎨 Claude Design使い方・料金・v0/Figma比較 — テキストだけでプロトタイプを作るAnthropicのAIデザインツール
Anthropicが2026年4月に公開したClaude DesignはPro月額$20から追加費用なしで使えるAIデザインツール。テキスト指示だけでプロトタイプ・スライド・LPを生成できる。料金・Figma/v0/Lovable比較・オンボーディング手順・実践プロンプト例まで、デザイン知識ゼロから使い始める方法をまとめた。
#2 POPULAR
🎨 awesome-design-md:DESIGN.mdでAIにUI生成させる方法【58ブランド対応】
DESIGN.mdをプロジェクトに置くだけでAIエージェントが一貫したUI生成を実現。Vercel・Stripe・Claudeなど58ブランドのデザイン仕様をnpx 1コマンドで導入する方法と、実際の出力差を検証した結果を解説。
#3 POPULAR
📊 TradingView MCP:Claude CodeからTradingViewを完全操作する78ツールのMCPサーバー
TradingView MCPはClaude CodeからTradingView Desktopを直接操作できる78ツール搭載のMCPサーバー。チャート分析、Pine Script開発、マルチペイン、アラート管理、リプレイ練習まで自然言語で実行。導入手順を解説
#4 POPULAR
🔍 last30days-skill完全ガイド|Reddit・X・YouTube横断AIリサーチスキルの使い方2026年版
last30days-skillはReddit・X・YouTube・TikTokなど10+ソースを横断して最新30日のトレンドをAIで分析するClaude Codeスキル。使い方・設定・活用例を解説。
#5 POPULAR
🚨 Composer 脆弱性 CVE-2026-40261 PerforceドライバRCE、2.9.6/2.2.27で修正
PHP Composerの脆弱性CVE-2026-40261(CVSS 8.8)はPerforce未インストールでも任意コード実行が成立。composer install/requireでRCEリスク。修正版2.9.6/2.2.27へ今すぐcomposer self-updateで更新。全PHP開発者・CI環境が影響対象。
← Terravision:TerraformコードからAWSアーキテクチャ図を自動生成するOSSツール