データベースデプロイガイド
Dokploy UIを使ってデータベースサービスを作成・デプロイ・管理する方法
Dokploy の UI を使ってデータベースサービスを作成・デプロイ・管理する手順を説明します。
対応データベース
| データベース | 説明 | デフォルトポート |
|---|---|---|
| PostgreSQL | 堅牢で SQL 標準に準拠した高信頼性のリレーショナルデータベース | 5432 |
| MySQL | パフォーマンスと柔軟性に優れた、広く普及しているリレーショナルデータベース | 3306 |
| MariaDB | MySQL から派生し、追加機能とパフォーマンス改善が施されたリレーショナルデータベース | 3306 |
| MongoDB | 高いスケーラビリティと柔軟性を持つ NoSQL データベース。JSON ライクなドキュメント形式でデータを格納する | 27017 |
| Redis | インメモリ型のキーバリューストア。データベースとしてだけでなく、キャッシュやメッセージブローカーとしても利用される | 6379 |
迷ったら PostgreSQL がおすすめです。 幅広い用途に対応でき、信頼性・機能面ともにバランスが良い定番のデータベースです。キャッシュやセッション管理など一時的なデータの高速な読み書きが目的であれば Redis を選択してください。
1. データベースの作成
1.1 プロジェクトを開く
- サイドバーから Projects をクリック
- 対象のプロジェクトを選択
- デプロイ先の Environment(環境) を開く
1.2 データベース作成ダイアログを開く
- Environment ページ右上の + Create Service ボタンをクリック
- ドロップダウンから Database を選択
- データベース作成ダイアログが表示される

1.3 データベースタイプを選択
ダイアログ上部のアイコン付きカードから、使用するデータベースを選択します:

1.4 フォームを入力
全データベース共通のフィールド
| フィールド | 必須 | 説明 |
|---|---|---|
| Name | ✅ | 表示名。入力すると App Name が自動生成される |
| App Name | ✅ | Docker Swarm サービス名。{プロジェクトslug}-{名前slug} の形式で自動生成されるが手動編集も可能。小文字英数字と - のみ使用可 |
| Description | - | 任意の説明文 |
| Database Password | ✅ | パスワードジェネレーター付き。$ ! ' " \ / およびスペースは使用不可 |
| Docker Image | - | 空欄の場合はデフォルトイメージが使用される |
Database Name・Database User・Database Password は、アプリケーションからデータベースに接続する際に必要な情報です。作成後に Internal Connection URL として確認できるので、特にこだわりがなければデフォルト値のままで問題ありません。
データベースタイプ別の追加フィールド
| フィールド | PostgreSQL | MySQL | MariaDB | MongoDB | Redis |
|---|---|---|---|---|---|
| Database Name | ✅ (default: postgres) | ✅ (default: mysql) | ✅ (default: mariadb) | - | - |
| Database User | ✅ (default: postgres) | ✅ (default: mysql) | ✅ (default: mariadb) | ✅ (default: mongo) | - |
| Database Root Password | - | 任意 | 任意 | - | - |
| Use Replica Sets | - | - | - | トグルスイッチ | - |
MongoDB の Replica Sets を有効にすると、レプリカセット rs0 が自動初期化され、root ユーザーが作成されます。
1.5 作成を実行
Create ボタンをクリックするとデータベースが作成されます。
この時点ではまだデータベースは起動していません。次のステップでデプロイ(起動)を行います。
2. データベースのデプロイ
2.1 データベース詳細ページを開く
Environment ページのサービス一覧から、作成したデータベースをクリックして詳細ページを開きます。
2.2 デプロイを実行
- General タブの Deploy Settings カードを確認
- Deploy ボタン (🚀) をクリック
- 確認ダイアログで Confirm をクリック
- デプロイログが表示され、「Deployment completed successfully!」と出たら成功です
2.3 デプロイ後のアクション

| ボタン | 説明 |
|---|---|
| Deploy | データベースを再デプロイする |
| Reload | データベースを再起動する |
| Stop | データベースを停止する |
| Open Terminal | コンテナ内のシェルに接続する |
3. 接続情報の確認
General タブにはデプロイ後に2種類の接続情報が表示されます。
3.1 Internal Credentials(内部接続)
Dokploy 上の他のサービスから接続する場合に使用します。
| 項目 | 説明 | 例 (PostgreSQL) |
|---|---|---|
| User | データベースユーザー名 | postgres |
| Database Name | データベース名 | postgres |
| Password | パスワード(マスク表示) | *** |
| Internal Port | コンテナ内ポート | 5432 |
| Internal Host | Docker Swarm ネットワーク上のホスト名 | myproject-mydb |
| Internal Connection URL | 完全な接続文字列 | postgresql://postgres:****@myproject-mydb:5432/postgres |
Internal Host は App Name と同じ値です。同じ Docker Swarm ネットワーク上のサービスからはこのホスト名で直接アクセスできます。
3.2 アプリケーションからの接続方法
作成したデータベースにアプリケーションから接続するには、Internal Connection URL を環境変数として設定します。
- Internal Credentials の Internal Connection URL をコピーする
- 接続元のアプリケーションの Environment タブを開く
- 環境変数として設定する(例:
DATABASE_URL=postgresql://postgres:****@myproject-mydb:5432/postgres) - アプリケーションを Deploy(再デプロイ)する
環境変数名はアプリケーション側の実装に合わせてください。一般的には DATABASE_URL がよく使われます。
3.3 External Credentials(外部接続)

この Dokploy 環境では External Credentials(外部接続)は使用しないでください。 セキュリティ上の理由から、データベースへの接続は Internal Credentials(内部接続)のみを使用してください。
4. タブ別機能詳細
データベース詳細ページには以下のタブがあります:
General タブ
- Deploy Settings(デプロイ操作)
- Internal Credentials(内部接続情報)
- External Credentials(外部接続設定)
Environment タブ
- 環境変数の追加・編集(KEY=VALUE 形式)
Logs タブ
- Docker コンテナのリアルタイムログを表示
Monitoring タブ
- CPU・メモリなどのシステムメトリクスを表示
Backups タブ
- データベースのバックアップ・復元を管理できます(詳細は別途ガイドを作成予定)
Redis はバックアップ機能をサポートしていません。
Advanced タブ
- Custom Command: Docker イメージ・起動コマンド・引数の変更
- Cluster Settings: レプリカ数、配置制約、更新戦略などの Swarm 設定
- Volumes: ボリュームマウント・バインドマウントの管理
- Resources: CPU・メモリの制限/予約設定
- Rebuild(危険ゾーン): データベースを完全リセット(全データ削除)
5. よくある操作
データベースの停止・再起動
- データベース詳細ページの General タブを開く
- Stop ボタンでコンテナを停止
- Start ボタンで再起動
Docker イメージのバージョン変更
- Advanced タブを開く
- Custom Command セクションで Docker Image を変更(例:
postgres:18→postgres:17) - Save をクリック
- General タブに戻り Deploy を実行
データベースの完全リセット
- Advanced タブを開く
- ページ下部の Rebuild ボタンをクリック
- 確認ダイアログで Confirm をクリック
Rebuild は全データ・テーブル・設定を削除し、データベースを初期状態に戻します。この操作は元に戻せません。
データベースの削除
- データベース詳細ページのヘッダー右上のゴミ箱アイコンをクリック
- 確認ダイアログで Confirm をクリック
削除するとデータベースのデータもすべて失われます。この操作は元に戻せません。
7. パスワードの制約
データベースパスワードには以下の文字が使用できます:
- 英数字:
a-z,A-Z,0-9 - 許可される記号:
@ # % ^ & * ( ) _ + - = [ ] { } | ; : , . < > ? ~ `
以下の文字は使用できません(データベース互換性のため):
$!'"\/およびスペース
8. トラブルシューティング
デプロイに失敗する
- Deploy ボタンクリック後に表示されるデプロイログを確認する
- Logs タブでコンテナログを確認する
- Docker イメージ名が正しいか確認する
- 指定したポートが他のサービスと衝突していないか確認する