✨ Difyとは?
最近注目を集めている Dify は、ChatGPTやClaudeなどの大規模言語モデル(LLM)を活用して、
カスタムAIアプリケーションやチャットボットを素早く構築できるオープンソースのプラットフォームです。
Difyを使うことで、次のようなAIアプリやチャットサービスを、専門的なプログラミングなしでも構築できます:
💬 質問応答ボット
- 社内のよくある質問に答えるボット
- PDFマニュアルに基づくQ&Aボット
💬 📄 文章要約ツール
- ニュース記事を自動で要約するサービス
- 議事録の要点を抽出するツール
🔗 外部データと連携したAIアプリの構築*
- 社内データベースとつなげた在庫問い合わせボット
- API経由で天気予報を取得して案内するAI」
🧠 複数の大規模言語モデル(LLM)を簡単に切り替えて利用
- OpenAI(ChatGPT)、Anthropic(Claude)、Azure OpenAI、Mistral などを用途に応じて使い分け可能
💬 🛠️ ユーザー管理やログ表示、APIキー発行など商用にも対応
- 社内メンバーごとにボットを使わせる
- API経由で社外システムに機能を組み込む
つまり、Difyを使えば、「AIチャットを作ってみたい」「業務に生成AIを導入してみたい」という場合に、
Webインターフェースや少しの設定だけで実践的なAIツールを動かせるというわけです。
☁️ クラウド利用 vs セルフホスティング
Difyには大きく分けて2つの使い方があります:
利用方法 | 特徴 |
---|---|
Dify Cloud(クラウド) | サインアップ後すぐに利用可能。OpenAIキーがあれば即実行。開発体験がスムーズ。 |
セルフホスティング | OSS版をDockerで自前サーバーにデプロイ可能。API制限なし・データ完全管理・独自改造もOK。 |
今回は後者の「セルフホスティング」の方法を、さくらのクラウド上にUbuntuサーバーを立てて実践しました。
✅ 必要なシステム要件
DifyをDocker Composeでセルフホスティングするためには、以下の最小要件を満たす必要があります:
- CPU: 2コア以上
- メモリ: 4 GiB以上(推奨は8 GiB)
- OS: Linux(例:Ubuntu 20.04、AlmaLinux 9など)
- Docker: バージョン19.03以降
- Docker Compose: バージョン1.28以降
📌 今回の目的と構成
この記事では、以下のことをゴールとしています:
- さくらのクラウドに仮想サーバー(Ubuntu)を作成
- DockerおよびDocker Composeを導入
- Difyの公式リポジトリからクローンして、ローカルで起動準備を整える
今後の記事では、.env
の設定や、実際の初期起動、外部公開(nginxやSSL設定)についても扱う予定です。
サーバーを作成
さくらのクラウドホーム画面から、「さくらのクラウド(Iaas)」を開く
公開鍵を「プロジェクトから選択」にするためには、予めさくらのクラウドに登録しておく必要があります。もちろん「入力」を選択して直接入力することも可能です。
(公開鍵を「なし」に設定した場合は、管理ユーザのパスワードでSSHログインできます。)
作成されたサーバを開き、NICタブをクリックします。
「共有セグメント インターネット」(つまりインターネット公開されているインターフェース)の、「IPv4アドレス」がサーバのSSHログインIPです。
ssh ubuntu@{共有セグメントのIPv4アドレス}
サーバにDockerとDocker Composeをインストール
1. 依存パッケージのインストール
sudo apt update #サーバ作成時にapt updateしていたら不要
sudo apt install -y ca-certificates curl gnupg lsb-release
2. GPGキーとリポジトリの追加
DockerのAPTリポジトリの信頼性を確認するための「署名鍵(GPGキー)」を、ローカルにバイナリ形式で保存します。
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
ls -l /etc/apt/keyrings/docker.gpg
🤔 なぜこんなことをするの?
APT(パッケージ管理システム)は、公式以外のソースからソフトウェアをインストールするとき、その出所を検証するために「署名キー」を必要とします。Dockerのソフトウェアをインストールするためには、Dockerの署名付きパッケージが本物であることを確認するための鍵が必要なんです。
3. Dockerリポジトリの設定
次に DockerのAPTリポジトリの追加 を行います。
echo \
"deb [arch=$(dpkg --print-architecture) \
signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
cat /etc/apt/sources.list.d/docker.list
/etc/apt/sources.list.d/docker.listに以下のような情報が入っていればOK。
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
4. APTキャッシュを更新
sudo apt update
5. DockerとDocker Composeをインストール
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
これは、APTによるパッケージ更新後に表示される「古いライブラリを使っているデーモン(サービス)を再起動するか?」という確認です。
セキュリティや安定性のために、再起動しておくのが推奨されます。
Tab キーを押すと にカーソルが移動します
Enter キーで確定→ インストールが進みます。
6. Dockerの動作確認
sudo docker run hello-world
以下のような文章が表示されたら成功!
Hello from Docker!
This message shows that your installation appears to be working correctly.
Difyのインストール
Difyをインストールする前に、専用のユーザを作成しておきます。(セキュリティ上、管理ユーザとわけるため。この手順飛ばしてもDifyのインストールはできます。)
1. difyhost ユーザーの作成
# 1. ユーザー作成(パスワードも設定されます)
sudo adduser difyhost
# 2. Dockerグループに追加(sudoなしで docker コマンドを使えるように)
sudo usermod -aG docker difyhost
# 3. difyhostユーザに切り替え
su - difyhost
# 4. ホームディレクトリが/home/difyhost/担っていることを確認
pwd
以後の手順で、/home/difyhost/配下にDify Composeがデプロイされます。
2. Difyのリポジトリをクローン
git clone https://github.com/langgenius/dify.git
cd dify/docker
※特定のDifyバージョンを選択してクローンしたい場合は上記ではなく下記手順を実施します。
(例として1.0.0-beta.1を使用する場合)
git clone https://github.com/langgenius/dify.git .
git tag
git fetch --tags
git checkout tags/1.0.0-beta.1 -b dify-1.0.0-beta.1
cd dify/docker
3. 環境設定ファイルをコピー
cp .env.example .env
4. Docker コンテナを起動する
docker compose up -d
下記のような画面が1分ほど続きます。
下記画面のようにContainerが表示され、すべて起動されたらOK!!
5. Difyへアクセス
Google Chromeなどのブラウザで、下記のアドレスにアクセスしてみましょう。
IPは作成したサーバのNICの共有セグメントのIPです。
http://{サーバのIP}/install
下記のような画面が表示されたら成功です!

メールアドレスなど必要事項を入力して、「セットアップ」をクリックします。
その後、特にメール認証などはなく、ログイン画面に遷移するので、
先ほど入力したメールアドレスとPWを入力します。

一旦ここまで。
📝 まとめ:セルフホスティングでDifyを動かすまで
今回は、さくらのクラウド上にUbuntuサーバーを用意し、Dockerを使ってDifyをセルフホストするところまでを実践しました。
クラウド版と違い、自前のサーバーで運用することで以下のようなメリットがあります:
- API利用制限なしで開発・検証できる
- データがすべて自分の管理下にある
- 独自の改造や社内システムとの統合がしやすい
🔧 今後予定していること
次回以降は、以下のような「実運用に向けた環境整備」を進めていきます:
- Let's Encrypt を使った SSL/TLS 対応
- ベーシック認証やファイアウォール等のセキュリティ強化
- Difyのアプリケーション開発
DifyはLLMを活用した開発をグッと身近にしてくれる強力なツールです。
引き続き、自分だけのAIアプリ基盤を一緒に育てていきましょう!