0
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?

生成AIアプリ開発 DifyをローカルPCに構築してみる

Last updated at Posted at 2025-04-17

はじめに

Difyは、エンジニアが生成AIを活用したアプリケーションを迅速に構築・運用できるオープンソースのプラットフォームです。ChatGPTやClaude、Geminiなど複数のLLMに対応し、RAG(検索拡張生成)によって社内に閉じた情報も加えて高精度な回答システムを実現できます。ノーコードでチャットボットやQ&Aシステムを構築可能なほか、ドキュメントやWebページなどをインポートしてナレッジベース化し、業務システムと連携できます。さらに、REST APIを通じた外部連携もでき、業務効率化などに活用することができます。

Difyの技術がどのようなものなのか学ぶため、概要を把握した後、構築してみることにしました。

Difyの導入形態

Difyを利用するには大きく分けて2つの形態があり、クラウドサービス版、セルフホストサービス版があります

クラウドサービス版 3つのプラン

プラン 月額料金 メッセージ数/月 チームメンバー数 アプリ数 知識文書数 ストレージ容量 ナレッジリクエスト制限 注釈クォータ ログ履歴
SANDBOX 無料 200 1人 5個 50件 50MB 10回/分 10件 30日間
PROFESSIONAL $59 5,000 3人 50個 500件 5GB 100回/分 2,000件 無制限
TEAM $159 10,000 50人 200個 1,000件 20GB 1,000回/分 5,000件 無制限

セルフホストサービス版 3つのプラン

プラン 料金 特徴
COMMUNITY 無料 個人ユーザー、小規模チーム、または非営利プロジェクト向け
PREMIUM AWS利用料金 AWS Marketplace経由でのデプロイ。ロゴやブランドカスタマイズが可能。
ENTERPRISE 要問い合わせ 大企業向け。エンタープライズグレードのセキュリティ、コンプライアンス、拡張性、制御、およびより高度は機能を必要とする企業むけ。

今回の構築対象は、Difyのシステム的な仕組みを知るためにセルフホストサービス版とします。また、無料のCOMMUNITY版とします。

構築前の確認

COMMUNITY版をローカルPCに構築する方法には、「Docker Composeによるデプロイ」「ソースコードからビルド」の2つがあります。今回はとても手軽なDocker Composeの方で進めました。

最小システム要件

公式ページより引用

Difyをインストールする前に、お使いのマシンが以下の最小システム要件を満たしていることを確認してください:

CPU >= 2コア
RAM >= 4GB

私の環境

  • MacBook Air 2022
    • Apple M2
    • メモリ 16GB
    • mac OS Sequoia 15.4
      • Docker Engine v28.0.4
      • Docker Desktop 4.40.0 (187762)

ローカルPCでの構築手順

githubからコードをダウンロード


https://github.com/langgenius/dify
image.png



dify-main.zip がダウンロードされますので、ホームディレクトリなどに保存し、解凍します。
また、解凍された内容にdockerディレクトリがあるので、そこへ移動します

% cd dify-main/docker/

dockerディレクトリの中身。docker-compose.yamlが存在することを確認

% ls -al
total 496
drwxrwxr-x@ 20 XXXXXX  staff    640 Apr 16 18:13 .
drwxrwxr-x@ 41 XXXXXX  staff   1312 Apr 16 18:03 ..
-rw-rw-r--@  1 XXXXXX  staff  35075 Apr 16 18:03 .env.example
-rw-rw-r--@  1 XXXXXX  staff   7014 Apr 16 18:03 README.md
drwxrwxr-x@  5 XXXXXX  staff    160 Apr 16 18:03 certbot
drwxrwxr-x@  4 XXXXXX  staff    128 Apr 16 18:03 couchbase-server
-rw-rw-r--@  1 XXXXXX  staff  25019 Apr 16 18:03 docker-compose-template.yaml
-rw-rw-r--@  1 XXXXXX  staff   7948 Apr 16 18:03 docker-compose.middleware.yaml
-rw-rw-r--@  1 XXXXXX  staff  63694 Apr 16 18:03 docker-compose.png
-rw-rw-r--@  1 XXXXXX  staff  52259 Apr 16 18:03 docker-compose.yaml
drwxrwxr-x@  3 XXXXXX  staff     96 Apr 16 18:03 elasticsearch
-rwxr-xr-x@  1 XXXXXX  staff   4097 Apr 16 18:03 generate_docker_compose
-rw-rw-r--@  1 XXXXXX  staff   4815 Apr 16 18:03 middleware.env.example
drwxrwxr-x@  8 XXXXXX  staff    256 Apr 16 18:03 nginx
drwxrwxr-x@  3 XXXXXX  staff     96 Apr 16 18:03 pgvector
drwxrwxr-x@  4 XXXXXX  staff    128 Apr 16 18:03 ssrf_proxy
drwxrwxr-x@  4 XXXXXX  staff    128 Apr 16 18:03 startupscripts
drwxrwxr-x@  4 XXXXXX  staff    128 Apr 16 18:03 tidb
drwxrwxr-x@ 12 XXXXXX  staff    384 Apr 16 18:17 volumes

dockerディレクトリの中の .env.example を .env にコピー
このファイルにはDifyの動作に必要な設定情報が含まれており、docker-compose.yamlから参照される

% cp .env.example .env

docker composeする

% docker compose up -d

image.png

数分待つと、エラーや警告も無く終了しました
image.png

ブラウザでローカル http://localhost/install にアクセスすると、Difyの初期設定画面が表示されます。
image.png

メールアドレスとパスワードを入力して、サインインします。
ちなみに入力したメールアドレスにメールは届いていませんでした。
image.png

あっけなくスムーズに、構築完了です
image.png

dockerの状況確認

起動中のdockerコンテナ一覧

image.png

dockerイメージ一覧

image.png

ボリューム一覧

image.png

ボリュームの中身をちょっと覗いてみると、access.log が見受けられる

%  docker run -it --privileged --pid=host debian nsenter -t 1 -m -u -n -i sh
Unable to find image 'debian:latest' locally
latest: Pulling from library/debian
71daa2c787b0: Pull complete 
Digest: sha256:00cd074b40c4d99ff0c24540bdde0533ca3791edcdac0de36d6b9fb3260d89e2
Status: Downloaded newer image for debian:latest

sh-5.2# 
sh-5.2# ls /var/lib/docker/volumes/
a59b38899b0a92eb729dcc170ef50b2c0b6704237401439c849c826e464f6344  backingFsBlockDev  bda4a2c0a7f39bd029cc0600ba9648d1a12c7408335a5c2fb68ee38a0762f1de  metadata.db


sh-5.2# cd /var/lib/docker/volumes/a59b38899b0a92eb729dcc170ef50b2c0b6704237401439c849c826e464f6344/_data/
sh-5.2# 
sh-5.2# 
sh-5.2# cat access.log 
1744797823.999   1752 172.18.0.8 TCP_TUNNEL/200 326100 CONNECT marketplace.dify.ai:443 - HIER_DIRECT/172.67.71.187 -
sh-5.2# 
sh-5.2# exit

再起動手順

% docker compose down
% docker compose up -d

おわりに

今回、Difyのコミュニティ版を使用し、mac osのローカルにdocker composeで構築を行いました。
特に詰まる部分はなく、すんなり構築できました。

次回は、この環境でOpenAIのAPIと連携する設定を行う予定です。

以上です。

0
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
0
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?