MENU

Difyをローカルソースコードから起動!開発環境構築ガイド

当ページのリンクには広告が含まれています。

Dify(ディファイ)をDocker Composeではなく、ソースコードから直接ビルドして起動する方法は、Dify自体のカスタマイズやデバッグを行いたい開発者にとって必須のスキルです。

この記事では、macOSやLinux環境を前提に、PythonバックエンドとNext.jsフロントエンドをセットアップし、ローカル環境でDifyを完全動作させるまでの手順をステップバイステップで解説します。

目次

1. 前提条件と環境準備

ソースコードからの起動には、以下のミドルウェアとランタイムが必要です。

  • OS: macOS 10.14+ または Linux (Ubuntu等)
  • Docker & Docker Compose: データベース等のミドルウェア起動に使用
  • Python: バージョン 3.12
  • Node.js: バージョン 22 (LTS)
  • システム要件: CPU 2コア以上、RAM 4GB以上推奨

リポジトリのクローン

まず、GitHubからDifyのソースコードをローカルにダウンロードします。

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

2. ミドルウェアの起動 (Docker Compose)

Dify本体はソースコードから動かしますが、PostgreSQL、Redis、Weaviateなどの依存ミドルウェアはDockerで起動するのが効率的です。

cd docker 
cp middleware.env.example middleware.env 
docker compose -f docker-compose.middleware.yaml up -d

これで、ポート5432(DB)や6379(Redis)などが利用可能になります。

3. バックエンド (API/Worker) のセットアップ

Difyの頭脳となるバックエンドサービスをPythonで立ち上げます。

Python環境の構築

推奨されるPythonバージョン管理ツール pyenv などを使って、Python 3.12環境を用意してください。

# apiディレクトリへ移動 cd ../api

環境変数の設定
cp .env.example .env

シークレットキーの生成と設定 (Mac/Linux)
awk -v key="$(openssl rand -base64 42)" '/^SECRET_KEY=/ {sub(/=.*/, "=" key)} 1' .env > temp_env && mv temp_env .env

依存関係のインストールとDB移行

Difyはパッケージ管理に高速な uv を採用しています。

# uvで依存パッケージをインストール 
uv sync

データベースのマイグレーション(テーブル作成など)
uv run flask db upgrade

APIサーバーの起動

uv run flask run --host 0.0.0.0 --port=5001 --debug

正常に起動すると Running on http://127.0.0.1:5001 と表示されます。

Workerサービスの起動

非同期処理(ドキュメントの解析やメール送信など)を行うWorkerを別ターミナルで起動します。

# apiディレクトリで実行 
uv run celery -A app.celery worker -P gevent -c 1 --loglevel INFO -Q dataset,generation,mail,ops_trace

4. フロントエンド (Web) のセットアップ

ユーザーインターフェースとなるWebサービスをNode.jsで立ち上げます。

依存関係のインストール

# webディレクトリへ移動 cd ../web

パッケージのインストール
pnpm install --frozen-lockfile

Note: pnpm がインストールされていない場合は npm i -g pnpm でインストールしてください。

環境変数の設定と起動

# 環境変数ファイルの作成 
cp .env.example .env.local

Webサーバーの起動(開発モード)
pnpm start

ビルドが完了すると Ready in ...ms と表示され、http://localhost:3000 でアクセス可能になります。

5. 動作確認

ブラウザで http://127.0.0.1:3000 にアクセスしてください。

Difyのセットアップ画面(管理者アカウント作成画面)が表示されれば、環境構築は成功です。

これで、Difyのソースコードを自由に修正し、即座に反映を確認できる開発環境が整いました。

【推奨】業務システム化に有効なアイテム

生成AIを学ぶ

システム化のパートナー

VPSサーバの選定

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

この記事を書いた人

コメント

コメントする

CAPTCHA


目次