Difyとは?Dockerの設定と始め方

📖 この記事は約 20 分で読めます。
概要

Difyは、プログラミングなしでAIチャットボットやワークフローを作れるオープンソースのアプリ開発プラットフォームで、この記事では初心者向けに、Difyとは何かから、無料で始める方法、Dockerの設定と始め方、Ollamaとの接続、RAG、日本語表示までを、公式ドキュメント(2026年10月時点)をもとに解説します。

管理人

本記事の読者層は以下の方を想定しています。

本記事の読者層
  • Difyとは何か、何が作れるのかを知りたい方
  • Difyを無料で試す方法を知りたい方
  • DockerでDifyをインストールして、最初のAIアプリを動かしたい方
  • WindowsやMacでの使い方、Ollamaとの接続、自分の資料に答えさせる方法を知りたい方
目次

Difyとは?AIアプリをノーコードで作れるオープンソースのプラットフォーム

Dify(ディフィ)は、ChatGPTのようなAIモデル(LLM)を使ったアプリを、画面上の操作で作れるオープンソースのプラットフォームです。公式のREADMEでは、LLMアプリ開発プラットフォームと説明されています。

公式Docsによると、アプリはキャンバス上に「ノード」を並べてつなぐことで作ります。ノードは、モデルの呼び出し、資料の検索、コードの実行、条件分岐といった1つ1つの処理のことです。作業の大半はドラッグ、接続、設定で進められ、コードが必要になるのは、処理の内容がそれを求めるときだけだと説明されています。作ったアプリは、ブラウザで使えるWebAppと、外部から呼び出せるAPIの形で使えます。

アプリの種類内容(公式Docsの定義)向いている用途
Workflow最初から最後まで1回だけ実行する処理自動化、一括処理
ChatflowWorkflowに会話の仕組みが加わったもの。会話のたびに動き、会話ごとの変数や記憶を扱える複数回のやりとりが必要な、複雑な対話
ChatbotLLMによる会話アシスタント手軽なチャットボット
Agentタスクの分解、推論、ツールの呼び出しができる会話アシスタントツールを使わせたい対話
Text Generator文章生成のためのアシスタント(物語、分類、翻訳など)1回きりの文章生成

公式Docsは、新しく作るときはWorkflowかChatflowを勧めています。Chatbot、Agent、Text Generatorは、同じ仕組みの上にある、より簡単な旧来の画面と説明されています。

初心者向けの用語

用語意味
LLMChatGPTのように、文章を生成するAIモデル
APIキーOpenAIなどのAIサービスを、外から使うための鍵。利用料は、提供元の料金体系に従う
ナレッジ(RAG)自分の資料を読み込ませて、その内容にもとづいてAIに答えさせる仕組み
DockerDifyを自分のPCで動かすための入れ物のような仕組み

DifyとOpenWebUIの違い

どちらも、自分の環境で動かせるAIの基盤として名前が挙がります。公式の説明をもとに整理すると、次のようになります。

項目DifyOpen WebUI
公式の位置づけLLMアプリ開発プラットフォームセルフホスト型のAIプラットフォーム(チャット画面が中心)
主な使い方チャットボットやワークフローを作り、WebAppやAPIとして公開するブラウザのチャット画面で、複数のモデルを切り替えて使う

筆者の整理では、チャットの画面がほしいだけならOpen WebUI、業務用のチャットボットや自動処理を作って使い回したいならDifyが向いています。

Difyは無料で使える?無料で始める2つの方法

Difyは、無料で使い始められます。方法は2つあります。

方法費用手軽さ無料の範囲・注意
セルフホスト(Community Edition)ソフト本体は無料Dockerを入れて、自分のPCやサーバーで動かす。設定が必要ライセンスの追加条件がある(次の項目を参照)
Dify CloudのSandboxプラン無料。クレジットカードは不要(公式の料金ページの説明)ブラウザで登録するだけ200メッセージクレジット、1ワークスペース、1メンバー、5アプリ、ナレッジは50文書・50MBまで

Sandboxのクレジットは、OpenAI、Anthropic、Geminiなどのモデルを、APIキーなしで試すためのものです。消費量はモデルごとに違います。クレジットを使い切ったあとは、自分のLLMのAPIキーで続けられると、公式の料金ページに書かれています。

注意したいのは、Difyが無料でも、OpenAIなどのAPIを使うと、そのAPI提供元の料金がかかる点です。費用をかけずに進めるなら、Ollamaで動かすローカルモデル(API料金はかかりません)か、Sandboxのクレジットの範囲で試す方法があります。Cloudには有料プランもありますが、この記事では無料で使える範囲だけを説明します。プランの内容は、Difyの公式の料金ページで確認できます。

Difyのライセンスで気をつけること

セルフホスト版は、Apache License 2.0に、2つの追加条件が付いたライセンスです。公式のライセンス全文には、次の場合は商用ライセンスが必要と書かれています。

  • 書面での許可なく、DifyのソースコードでマルチテナントのSaaSのような環境を運営する(1つのワークスペースが1つのテナントにあたる)
  • DifyのフロントエンドでLOGOや著作権表示を削除・変更する

自分や自社で使うだけの場合の扱いは、全文で確認してください。迷うときは、全文に書かれた連絡先に問い合わせる方法があります(筆者は法律の専門家ではありません)。全文は、DifyのGitHubのライセンスで読めます。

Difyの始め方:Docker Composeで自分のPCにインストールする

無料で、手元のPCで動かす手順です。公式の「Deploy Dify with Docker Compose」(2026年10月に確認)にもとづきます。

動作環境

項目必要な環境
CPU2コア以上
メモリ4GiB以上
macOS10.14以降。Docker Desktop(Docker Compose 2.24.0以上)。Dockerの仮想マシンは、2仮想CPU・8GiB以上に設定する
LinuxDocker 19.03以降、Docker Compose 2.24.0以上
WindowsWSL 2を有効にする。Docker Desktop(Docker Compose 2.24.0以上)。Dockerで使うソースとデータは、WindowsではなくLinux側のファイルシステムに置く

Docker Composeのバージョンは、docker compose versionで確認します。

手順

1. Difyのソースを取得する

git clone --branch "$(curl -s https://api.github.com/repos/langgenius/dify/releases/latest | jq -r .tag_name)" https://github.com/langgenius/dify.git

このコマンドには、git、curl、jqが必要です。fatal: Remote branch null not found in upstream originと出たときは、Difyのリリース一覧で最新のバージョン番号を調べ、次のように指定します。

git clone --branch <バージョン番号> https://github.com/langgenius/dify.git

2. 設定ファイルを用意する

cd dify/docker
cp .env.example .env

3. 起動する

docker compose up -d

公式Docsによると、起動するコンテナは次のとおりです。

  • 中心となる7つのサービス:api、api_websocket、worker、worker_beat、web、plugin_daemon、agent_backend
  • 周辺の8つの部品:weaviate、db_postgres、redis、nginx、ssrf_proxy、agent_ssrf_proxy、sandbox、local_sandbox
  • 1回だけ動くタスク:init_permissions(保存先の権限を設定して終了する)

4. 起動を確認する

docker compose ps

各コンテナが「Up」か「healthy」になっていれば正常です。init_permissionsだけは、「Exited」になるのが正常です。

5. 管理者アカウントを作って、ログインする

ブラウザでhttp://localhost/installを開き、管理者アカウントを作ります。作り終えたら、http://localhostでログインします。サーバーに入れた場合は、localhostをサーバーのIPアドレスに置き換えます。

DifyをWindowsやMacで使う方法

手順は、どちらも前の章と同じです。違うのは、準備の部分だけです。

  • Windows:WSL 2を有効にして、Docker Desktopを入れます。公式Docsは、Dockerで使うソースとデータを、Windows側ではなくLinux側のファイルシステムに置くよう案内しています。Docker Desktopのインストール方法は、Docker公式の「Install Docker Desktop on Windows(WSL 2 backend)」を参照してください。
  • Mac:Docker Desktopを入れて、Dockerの仮想マシンを2仮想CPU・8GiB以上のメモリに設定します。macOSは10.14以降が対象です。

そのあとは、ターミナル(Windowsは、WSLのターミナル)で、前の章のコマンドを実行します。

Difyの使い方:最初のチャットボットを作って動かすまで

Difyにログインしたあとの流れです。

  1. モデルを用意する:「Settings」→「Model Providers」で、使うモデルの提供元を追加します。新しい版では、提供元はプラグインとして提供されていて、インストールしてからAPIキーなどを設定する流れです。無料で用意する方法は、次の表と、後ろの章にまとめています。
  2. アプリを作る:「Studio」で「Create from Blank」を選び、「MORE BASIC APP TYPES」からChatbotを選びます。
  3. 指示文とモデルを設定する:アプリの役割を指示文(プロンプト)に書き、使うモデルを選びます。画面でテストしながら調整します。
  4. 公開して使う:作ったアプリは、WebAppやAPIとして使えます。

無料でモデルを用意する3つの方法

方法費用設定のしかた
OllamaのローカルモデルAPI料金はかからない。PCの性能が必要次の章を参照
Sandboxのメッセージクレジット無料(上限あり)Dify Cloudにログインし、試したいモデルのプラグインをModel Providersでインストールして、会話を始める(公式ブログの案内)
自分のAPIキー提供元の料金がかかる。無料枠の有無は、各社の案内で確認するModel Providersでプラグインをインストールし、APIキーを保存する

DifyでOllamaのローカルモデルを使う方法

Ollamaは、LLMを自分のPCで動かすためのツールです。公式Docsによると、DifyはOllamaで動かしたモデルのLLMと、テキストの埋め込み(Text Embedding)の機能に接続できます。API料金がかからないため、無料で試す方法として使えます。

  1. Ollamaの公式サイトから、自分のOS向けのOllamaを入れます。
  2. 使うモデルを取得します。ollama pull モデル名の形です。
  3. Ollamaは、PCの11434番ポートでAPIを待ち受けます(http://localhost:11434)。
  4. Difyの「Settings」→「Model Providers」→「Ollama」で、モデルを追加します。「Base URL」に、OllamaのURLを入れます。
  5. 埋め込みモデルも、モデルの種類を「Text Embedding」に変えて、同じ方法で追加します。

Base URLは、Difyの動かし方で変わります。

Difyの動かし方Base URL
Docker(この記事の方法)http://host.docker.internal:11434、またはPCのローカルネットワークのIPアドレス(例:http://192.168.1.100:11434)
ソースコードから直接動かすhttp://localhost:11434

DifyとOllamaをDockerで動かしていて、「Connection refused」のエラーが出る場合は、Base URLをlocalhostにしていないか確認します。公式Docsによると、Dockerの中のlocalhostは、PCではなくコンテナ自身を指すためです。host.docker.internalに置き換えると、つながります。それでもつながらないときは、公式Docsが案内する、OllamaをすべてのIPから接続できるようにする方法(環境変数OLLAMA_HOSTの変更)を試します。

DifyのRAG(ナレッジ)で、自分の資料に答えさせる方法

RAGは、自分の資料を読み込ませて、その内容にもとづいてAIに答えさせる仕組みです。Difyでは「Knowledge」という機能で使います。

  1. メニューの「Knowledge」で「Create Knowledge」を押し、資料のファイルをアップロードします。
  2. チャンク(資料を分ける単位)の設定を選びます。迷うときは、「General」です。
  3. 「Index Method」(インデックスの方式)を選びます。
  4. 検索の設定を選び、「Save and Process」で保存します。
  5. 作ったナレッジを、チャットボットなどのアプリに接続して、資料の内容を質問します。

インデックスの方式は、次の2つです。

方式仕組み埋め込みモデル
High Quality埋め込みモデルで文章を数値にして検索する。検索方法は、ベクトル検索、全文検索、ハイブリッド検索から選べる必要
Economicalキーワードにもとづいて検索する不要

High Qualityでナレッジを作ると、あとからEconomicalには切り替えられません。無料で進める場合、High Qualityの埋め込みモデルは、前の章のOllamaの埋め込みモデルで用意できます。APIキーを使わずに試したいときは、Economicalを選ぶ方法もあります。なお、CloudのSandboxプランでは、ナレッジは50文書・50MBまでです。最初は、短い資料で試すと、答えが資料にもとづいているかを確かめやすくなります(筆者の提案です)。

Difyを日本語で使う方法

日本語化には、画面の表示、アプリの返答、日本語の資料という3つの話が混ざりやすいため、分けて考えます。

日本語にしたいもの設定する場所補足
画面の表示アバターをクリック→「Language」下で説明する
アプリの返答アプリの指示文(プロンプト)と、使うモデル指示文に「日本語で答えてください」と書く。モデルが日本語に対応している必要がある
日本語の資料ナレッジの埋め込みモデル前の章を参照

画面の日本語表示については、公式Docsの記述が版によって違います。現行のセルフホスト版のDocs(2026年7月更新)は、表示言語として英語、簡体字中国語、繁体字中国語を挙げています。一方、古い版のDocsには、日本語(日本)も挙がっています。メニューに日本語があるかは、自分の画面で、アバター→「Language」を開いて確認してください。日本語がない場合は、英語表示のまま使えます。公式Docsによると、表示言語の設定は、画面の部品だけに影響して、作ったアプリの内容には影響しません。

Difyの更新・停止方法と、よくあるつまずき

停止・再起動・更新のしかた

停止はdocker compose down、起動はdocker compose up -dです。設定を変えたときは、この2つを順に実行して再起動します。

更新の手順は、リリースごとに違うことがあります。公式Docsは、更新先の版のリリースページにある更新手順に従うよう案内しています。更新したあとは、.env.exampleと自分の.envを見比べて、新しい項目や変わった項目がないか確認します。docker-compose.yamlを自分で変えていた場合は、古いファイルを使い続けず、新しいリリースのファイルに変更を入れ直します。リリースで、Difyの動作に必要なサービスが増えることがあるためです。

80番ポートがすでに使われているときは?

公式のトラブルシューティングには、2つの方法があります。

  1. 80番ポートを使っているサービス(Apacheやnginxなど)を止める
  2. Difyのポートを変える。.envのEXPOSE_NGINX_PORT=80を変えるか、docker-compose.yamlのポートの指定を"8080:80"のように変える

変更したあとは、docker compose downとdocker compose up -dを実行します。

管理者のパスワードを忘れたときは?

Docker Composeの場合は、次のコマンドを実行して、メールアドレスと新しいパスワードを入力します。

docker exec -it docker-api-1 flask reset-password

画面が開かない、502 Bad Gatewayと出るときは?

まず、docker compose psで、コンテナが「Up」か「healthy」になっているかを確認します。公式のDocker関連のトラブルシューティングには、502 Bad Gatewayの原因として、nginxが古いコンテナのIPアドレスに転送している場合が挙がっています。その場合は、docker/nginx/conf.dの転送先を、現在のコンテナのIPアドレスに書き換えます。コンテナを再起動するとIPアドレスが変わるため、手順の詳細は、公式のDockerのトラブルシューティングで確認してください。

DifyからPC上のサービス(Ollamaなど)につながらないときは?

Dockerのコンテナからは、127.0.0.1でPC上のサービスにつなげません。公式のトラブルシューティングは、PCのローカルネットワークのIPアドレスを使うよう案内しています。Ollamaの場合は、前の章のhost.docker.internalでも接続できます。

DifyのGitHubと、最新バージョンの確認方法

Difyのソースコードは、DifyのGitHubリポジトリで公開されています。最新のバージョンと変更点は、リリース一覧で確認できます。使い方の詳細は、Difyの公式ドキュメントにまとまっています。

まとめ

本記事のポイント

✔ Difyは、無料のセルフホスト版かCloudのSandboxで始められ、Docker Composeなら数個のコマンドで起動できます

本記事のまとめ

Difyは、プログラミングなしでAIアプリを作れるプラットフォームで、無料で始められます。次の3点を押さえれば進められます。

  • 無料の始め方は、Dockerで自分のPCに入れる方法と、Cloudの無料のSandboxプランの2つ
  • インストールは、動作環境を確認してdocker compose up -dで起動し、/installで管理者アカウントを作る
  • モデルはOllamaのローカルモデルなら、API料金なしで使える。Dockerからはhost.docker.internalで接続する

まずはDockerで起動して、モデルを1つ接続し、最初のチャットボットを動かしてみてください。

関連リンク

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次