Difyはオープンソースのプラットフォームであるため、クラウド版(dify.ai)を利用するだけでなく、自社サーバーやVPS上でセルフホストすることができます。セルフホスト版ではサブスクリプション費用が不要で、データを自社管理下に置けるというメリットがあります。
本記事では、Dockerを使ったDifyのセルフホスト手順を詳しく解説するとともに、セルフホストのメリット・デメリット、さらにボットマとの組み合わせで運用管理を効率化する方法をご紹介します。
セルフホストのメリット・デメリット
セルフホスト版とクラウド版を比較する前に、それぞれの特徴を整理しておきましょう。
セルフホストのメリット
コスト面 クラウド版の月額サブスクリプション($59〜)が不要になります。サーバー費用はかかりますが、利用規模が大きいほど費用対効果が高まります。一般的なVPS(月額1,000〜3,000円)であれば、Professionalプラン相当の機能を格安で利用できます。
データ管理 すべての会話データ・ナレッジベース・設定情報が自社サーバーに保存されます。個人情報保護やセキュリティポリシーが厳格な企業・医療機関・金融機関にとって特に重要な要素です。
機能制限なし クラウド版のようなメッセージ数上限やアプリ数上限がありません。大量のユーザーが同時に利用する場合でも、サーバーのスペックに応じてスケールできます。
カスタマイズの自由度 ソースコードを直接修正して独自機能を追加したり、APIエンドポイントを変更したりすることが可能です。
セルフホストのデメリット
技術的な手間 Dockerや Linux サーバーの知識が必要です。インストールだけでなく、アップデート対応・バックアップ・セキュリティパッチの適用なども自己責任で行う必要があります。
初期構築コスト サーバーの選定・設定・初期インストールに時間がかかります。はじめてDockerを扱う場合は特にハードルが高く感じられることがあります。
サポート体制 クラウド版のような公式サポートはありません。トラブル時はコミュニティフォーラムやGitHubのIssueを参照することになります。
セルフホストに必要な環境
Difyをセルフホストするには、以下の環境が必要です。
サーバースペックの目安:
- CPU: 2コア以上推奨
- メモリ: 4GB以上(8GB推奨)
- ストレージ: 20GB以上の空き容量
ソフトウェア要件:
- Docker 20.10.0以上
- Docker Compose v2.0以上
- OS: Ubuntu 20.04以上、macOS、Windows(WSL2経由)
Dockerを使ったセルフホスト手順
ステップ1: リポジトリのクローン
まず、DifyのGitHubリポジトリをサーバーにクローンします。
git clone https://github.com/langgenius/dify.git
cd dify
ステップ2: 設定ファイルのコピー
docker ディレクトリに移動し、環境変数ファイルをコピーします。
cd docker
cp .env.example .env
ステップ3: 環境変数の設定
.env ファイルを編集して必要な設定を行います。最低限設定すべき項目は以下です。
# セキュリティキー(必ずランダムな文字列に変更すること)
SECRET_KEY=your-secret-key-here
# データベース設定(デフォルトのままでも動作します)
DB_USERNAME=postgres
DB_PASSWORD=difyai123456
# Redis設定
REDIS_PASSWORD=difyai123456
SECRET_KEY は必ず変更してください。以下のコマンドでランダムなキーを生成できます。
openssl rand -base64 42
ステップ4: Dockerコンテナの起動
docker compose up -d
初回起動時はDockerイメージのダウンロードに時間がかかります(5〜10分程度)。
ステップ5: 動作確認
起動完了後、ブラウザで http://サーバーのIPアドレス にアクセスします。初回アクセス時は管理者アカウントの作成画面が表示されます。
ステップ6: 管理者アカウントの作成
メールアドレスとパスワードを設定して管理者アカウントを作成します。これ以降はこのアカウントでDifyの管理画面にログインできます。
HTTPSの設定(本番環境向け)
本番環境でDifyを公開する際はHTTPS化が必須です。Let's Encryptを使った無料SSL証明書の取得と、nginxリバースプロキシの設定が一般的な方法です。
# certbotのインストール(Ubuntu)
sudo apt install certbot python3-certbot-nginx
# 証明書の取得
sudo certbot --nginx -d your-domain.com
nginxの設定ファイルでリバースプロキシを設定し、DifyのDockerコンテナ(デフォルトポート80)に転送します。
アップデートの手順
Difyは頻繁にアップデートが行われます。セルフホスト環境では手動でアップデートする必要があります。
cd dify/docker
docker compose down
git pull origin main
docker compose pull
docker compose up -d
アップデート前にデータベースのバックアップを取ることを強く推奨します。
クラウド版との機能比較
| 項目 | セルフホスト | クラウド版(Team) |
|---|---|---|
| 月額コスト | サーバー代のみ | $159 |
| メッセージ数 | 無制限 | 10,000回/月 |
| データ管理 | 完全自社管理 | Dify社サーバー |
| アップデート | 手動対応 | 自動 |
| サポート | コミュニティ | 公式サポート |
| セットアップ | 技術知識必要 | 即時利用可 |
セルフホスト環境でもボットマで運用管理を強化
セルフホスト版のDifyでも、ボットマのAPI連携機能を使えばチャットボットの外観カスタマイズや運用管理が可能です。
セルフホスト環境でのDifyは機能面では強力ですが、実際にウェブサイトに埋め込んで公開する際に以下のような課題が生まれます。
- Difyのデフォルトデザインがサイトのブランドと合わない
- 誰がいつどんな会話をしたか管理画面から一覧で確認しにくい
- 新規ユーザーが来たときにメール通知を受け取りたい
- チャット開始前にユーザーの名前や連絡先を収集したい
ボットマはこれらの課題をすべて解決できます。DifyのAPIキーをボットマに接続するだけで、以下の機能が追加されます。
外観カスタマイズ ブランドカラー・アイコン・フォントをGUIで変更し、サイトに馴染んだデザインのチャットボットを公開できます。
会話スレッド管理 全ユーザーの会話履歴を一覧表示し、未対応・対応中・完了などのステータスで管理できます。複数のスタッフで対応状況を共有するのに便利です。
メール通知 新しい会話が始まったとき、または特定のキーワードが会話に含まれたときにメール通知を受け取れます。重要な問い合わせを見逃しません。
入力フォーム チャット開始前に名前・メールアドレス・会社名などを収集するフォームを設置できます。リード情報の取得に活用できます。
アクセス制限 パスワードを設定して特定のユーザーのみが利用できるようにします。社内ツールや会員限定コンテンツに最適です。
ボットマはセルフホスト版・クラウド版いずれのDifyとも連携でき、無料プランからお試しいただけます。
まとめ
Difyのセルフホストは、コスト削減とデータ管理を両立したい組織にとって有力な選択肢です。Dockerを使えば比較的簡単に構築でき、クラウド版の制限なしにフル機能を利用できます。
一方で、技術的な管理コストやアップデート対応が発生する点は把握しておく必要があります。エンジニアリングリソースがある組織であれば、セルフホストは長期的にコスト効率が高い選択です。
セルフホストしたDifyを実際のビジネスで活用する際は、ボットマとの組み合わせでUI/UXと運用管理の質を高めることをお勧めします。
ボットマでDifyチャットボットをもっと便利に
ボットマは、DifyのチャットボットにUI/UXカスタマイズ・会話スレッド管理・メール通知・入力フォーム・アクセス制限機能を追加できるSaaSプラットフォームです。