1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Difyをローカル(セルフホスト)で動かす構築手法マップ:Docker、Codespaces、ローカルLLM(Ollama)連携まで

1
Last updated at Posted at 2026-07-12

ローカルで Dify を使ってみたい

Difyn8nのようなを AI ワークフローツールをローカルで動かすメリットは大きく2つです。

  1. クラウド版の毎月の利用料や機能制限を気にしなくてよい
  2. RAG の設計で社内データなどを外部サーバーへ送信せずに済む

逆にクラウド版ではサーバー管理や外部 API 連携が容易であること、が挙げられます。
この記事では Dify の様々なセルフホスティングの方法を紹介します。

コマンド1発: GitHub Codespacesでブラウザ完結のデプロイ

さっそく外部クラウドですが、非常に簡単な方法です。

リポジトリからボタン1つで起動

こちらの Dify のリポジトリから簡単に構築できます。

  • Codespaceインスタンスの生成
    リポジトリの codeCodespaces で新規の codespace を作成してください。

image.png

プロビジョニングとコンテナ構築が開始されます。数分かかります。

image.png

README にある通り、以下のコマンドをターミナルで実行します。

cd dify
cd docker
cp .env.example .env
docker compose up -d

image.png

完了後、ポートタブの URL を開くとセットアップ画面にアクセスできます。

image.png

これでスタートできます。あっけないですね。

image.png

これが1つ目の方法です。

セキュリティに関する注意点

  • データは外部に送信されます
    完全ローカルホストであれば、データは手元のPCや自社サーバーから外に出ませんが、Codespaces にデプロイすると、RAG 用にインポートした PDF やテキストデータは Microsoft(GitHub)のクラウドサーバーにアップロードされ、保管されることになります。

  • 公開設定を確認
    ポートをフォワーディング時に、公開をpublicにしてしまうと URL を知っている第三者に公開してしまうリスクがあります。

  • 自動削除のリスクがあります
    GitHub Codespacesは長期間アクティブでない状態が続くと、環境(コンテナ)ごと自動的に削除される仕様になっています。

Dockerコンテナを使って構築

本格的な社内運用や、物理マシンのリソースを限界まで引き出した推論環境を構築する場合はローカルでのDocker Compose を用いたデプロイを推奨します。

公式リポジトリを使ったクローン&コンテナ立ち上げ

最もシンプルなコマンドは以下の通り。GitHub Codespaces の実装方法とほぼ同じです。

# 1. ローカルマシンに Dify 公式リポジトリをダウンロード
git clone https://github.com/langgenius/dify.git

# 2. Dockerディレクトリへ移動
cd dify/docker

# 3. 環境変数定義用ファイルのひな形をコピー
cp .env.example .env

# 4. バックグラウンドでコンテナを起動
docker compose up -d

docker-compose.yaml のカスタマイズと環境管理

Difyの docker-compose.yaml ファイルは、YAML アンカー機能(&shared-api-worker-config など)を用いて各サービスの共通環境変数、依存関係、マウントするボリューム定義を一元管理することができます。

なお、API のシークレットキーの再定義、データベース接続先の変更などは直接 YAML を修正するのではなく、 .env を書き換える形で実施します。

ベクトルデータベースのサービス調整

データベースの制御は、 docker-compose.yaml の中に構造的に含まれています。利用するデータベースを特定する場合は、.env ファイル内の VECTOR_STORE に使用したいデータベース名を定義するだけで、システムが自動的に接続をマッピングする仕組みです。

# 例:qdrant、milvus、pgvector
VECTOR_STORE: qdrant

イメージ更新とデータベース・マイグレーション

現状、Dify は頻繁にバージョンアップが行われているため、Dify 本体をアップグレードし、データベース(PostgreSQL)のスキーマを同期させる場面が想定されます。

  • 1.ロールバック用バックアップ
docker compose exec db_postgres pg_dump -U postgres -d dify > backup.sql
  • 2.コンテナ停止
docker compose down
  • 3.ターゲットバージョンの pull
git pull origin main
docker compose pull
  • 4.環境変数の同期とコンテナスタート
bash dify-env-sync.sh
docker compose up -d

環境変数でMIGRATION_ENABLED=trueとなっていると自動でマイグレーションを実行します。

ローカルLLM(Ollama)と連携する

トークンの消費量に応じた重量課金を防ぐためにローカル LLM との繋ぎこみができると、さらに理想的な開発環境になります。

こちらのページをもとに実装してみました。Dify はローカルホストできているという所から出発します。

詳細は別記事で紹介します。この記事ではさっくりと流れを説明します。

# Windows
irm https://ollama.com/install.ps1 | iex

# mac, Linux
curl -fsSL https://ollama.com/install.sh | sh

  • 2.モデルのダウンロード

ライブラリから pull してきます。

ollama pull llama3

※ Hugging Face から持ってきても良いです。

  • 3.モデルのプロバイダを Ollama に設定
    Dify で利用するモデルプロバイダを Ollama に設定します。
    設定モデルプロバイダーOllama を見つけインストール、さらにモデルを追加から必要な情報を入力し保存します。

image.png

あとはプロジェクトで使うだけです!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?