ローカル環境にDockerでDifyを構築する方法

blog

自分の端末でAIアプリを構築してみたい

生成AIに興味はあるものの、「APIの設定が難しそう」「クラウドサービスをいきなり触るのは少し不安」と感じる方も多いのではないでしょうか。そんなときにおすすめなのが、自分の端末上にAIアプリ開発環境を用意して試してみる方法です。Difyは、チャットボットやワークフロー、RAGなどのAIアプリを作れるプラットフォームで、公式でもDocker Composeを使ったセルフホスト手順が案内されています。

ローカル環境で構築するメリットは、まず手元ですぐに試せることです。Docker Desktopを使えば、MacやWindowsでも比較的シンプルに起動でき、ブラウザからDifyの画面にアクセスしてAIアプリ作成を始められます。Docker Desktop自体も、コンテナ化されたアプリをローカルで動かすための統合アプリとして提供されています。

さらに、ローカル構築に慣れてくると、クラウドの外部APIだけでなく、自分のPCで動かしているローカルLLMとつなげるといった発展的な使い方も見えてきます。DifyはモデルプロバイダーとしてOllamaのようなローカルモデルにも対応しているため、「まずは自分の端末で安全に試す」「その後に自作モデルや独自用途へ広げる」といった流れが取りやすいのも魅力です。

この記事では、そんな第一歩として、自分の端末にDifyを構築し、AIアプリ開発を始める方法をわかりやすく紹介していきます。はじめての方でも流れを追いやすいように、必要な準備から起動確認まで順番に整理していきます。

Difyをローカルに構築するメリット

ローカル環境でDifyを動かせるようにしておくと、すぐにアプリ作成や検証を始められます。加えて、自分のPC上で構成を把握しながら試せるため、クラウド版よりも挙動を確認しやすいのが利点です。Dify公式でも、セルフホストの導入方法として Docker Compose を案内しています。 (Dify Docs)

事前に用意するもの

今回は、もっともシンプルな構成として Docker Compose を使ったローカル構築 を行います。Dify公式では、事前準備として Docker / Docker Compose の導入を前提にしており、GitHub のクイックスタートでも git clone して docker ディレクトリから起動する手順が示されています。 (GitHub)

公式ダウンロード先

  • Dify公式ドキュメント(Docker Compose版) (Dify Docs)
  • Dify公式GitHubリポジトリ (GitHub)
  • Docker Desktop公式ダウンロードページ (Docker Documentation)
  • Git公式インストールページ (Git)

動作前提

Dify公式GitHubでは、最低要件として CPU 2コア以上 / メモリ4GiB以上 が案内されています。さらに、日本語のDocker Composeガイドでは、macOSではDocker Desktopの仮想マシンに最低2 vCPU・8GiBメモリを割り当てる よう案内されています。Macで試す場合は、この設定もあわせて確認しておくと安心です。 (GitHub)

手順1:Docker Desktop をインストールする

まずは Docker Desktop をインストールします。Docker公式のインストールページには、Mac向け・Windows向け・Linux向けの案内がまとまっており、Mac版では Apple silicon と Intel 用のダウンロードが用意されています。 (Docker Documentation)

Docker Desktop のインストールが終わったら、アプリを起動しておきます。Docker公式では、Docker Desktop はコンテナを実行するための統合アプリとして案内されています。 (Docker Documentation)

手順2:Git をインストールする

次に Git を入れます。Dify の起動は GitHub リポジトリを取得して進めるのが基本なので、まだ入っていない場合は Git 公式のインストールページから入れておきます。 (Git)

インストール後、ターミナルで次のコマンドを実行して Git が使えるか確認します。

git --version

手順3:Dify を取得する

準備ができたら、Dify の公式リポジトリをローカルに取得します。公式GitHubのクイックスタートでは、dify ディレクトリに移動し、その中の docker フォルダでセットアップを進める流れが示されています。 (GitHub)

cd ~
git clone https://github.com/langgenius/dify.git
cd dify

ここで大事なのは、dify リポジトリ全体を取得することです。以降の作業は dify/docker ディレクトリで行います。 (GitHub)

手順4:dockerディレクトリに移動する

Dify の Docker Compose 用ファイルは dify/docker 配下にあります。公式の quick start でも、cd difycd docker の順で移動してから起動する形です。 (GitHub)

cd docker

手順5:.env ファイルを作成する

次に、サンプル環境変数ファイルから .env を作成します。Dify の Docker README では、.env.example.env にコピーすること、そして .env が Docker Compose 起動に必須であることが説明されています。 (GitHub)

cp .env.example .env

まずはデフォルトのままでも起動できますが、必要に応じて .env を編集することで設定をカスタマイズできます。環境変数はアップグレード時にも維持しやすくするための仕組みとして扱われています。 (GitHub)

手順6:Docker Compose で起動する

ここまできたら、いよいよ Dify を起動します。Dify公式GitHubと公式ドキュメントの両方で、docker compose up -d による起動が案内されています。 (GitHub)

docker compose up -d

初回は各コンテナのイメージ取得が走るため、少し時間がかかる場合があります。

手順7:ブラウザで開く

起動後は、ブラウザでローカルのDifyにアクセスします。Dify の Docker Compose 構成では nginx を入口として起動するため、通常はローカルホストで利用できます。公式構成ファイルにも nginx サービスが含まれています。 (GitHub)

http://localhost

初回アクセス時は、管理者アカウント作成などのセットアップ画面が表示されれば成功です。

手順8:起動確認をする

起動状況を確認したい場合は、次のコマンドを実行します。

docker compose ps

各コンテナが Up になっていれば、正常に立ち上がっている可能性が高いです。Dify の Docker Compose 構成には、API、Web、Worker、DB、Redis、nginx など複数のサービスが含まれています。 (GitHub)

よくあるつまずきポイント

1. npm を実行してしまう

Dify の最短構築は Docker Compose ベースなので、まず必要なのは npm run dev ではなく dify/docker 配下での docker compose up -d です。公式クイックスタートでもこの流れになっています。 (GitHub)

2. docker compose up -d.env.example がない

.env.example が見つからない場合は、dify/docker ディレクトリに正しく入れていないか、取得したファイル一式が不足している可能性があります。Dify の Docker README では、docker ディレクトリ内で .env.example.env にコピーして起動する前提です。 (GitHub)

3. docker compose 実行時に設定ファイルが見つからない

これも多くの場合、実行ディレクトリが違うのが原因です。公式では dify/docker で実行する ことが前提です。 (GitHub)

停止方法

Dify を停止したいときは、docker ディレクトリで次を実行します。

docker compose down

Docker Compose 構成の停止は、このコマンドで行えます。アップグレード手順でも一度 docker compose down を実行する流れが案内されています。 (GitHub)

アップデート方法

Dify を更新するときは、公式リリースの案内どおり、まずバックアップを取ってから git pulldocker compose up -d を実行する流れが基本です。特に docker/volumes のバックアップは重要です。 (GitHub)

代表的な流れは次のとおりです。

cd docker
cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
docker compose down
tar -cvf volumes-$(date +%s).tgz volumes
cd ..
git checkout main
git pull origin main
cd docker
docker compose up -d

まとめ

Dify をローカル環境に構築する手順は、次の流れで進めるとスムーズです。

  1. Docker Desktop と Git をインストールする
  2. Dify の公式リポジトリを取得する
  3. dify/docker に移動する
  4. .env.example から .env を作る
  5. docker compose up -d で起動する
  6. http://localhost にアクセスする (GitHub)

公式情報に沿って進めれば、ローカルでも比較的スムーズに Dify を立ち上げられます。まずは Docker Compose で環境を作り、必要に応じて .env を編集しながら、自分の用途に合わせて拡張していくのがおすすめです。 (Dify Docs)

次回は、Difyローカル版で自作したAIモデルを使う方法を解説予定です。