既にQiitaにはセルフホスト版のDifyの構築手順は多く掲載されていますが、社内技術勉強会やハンズオン等の用途向けに特に引っかかりやすい点や質問を受けそうなポイントを整理した構築手順メモとして置いています
動作環境・前提条件
WindowsでDifyを動作させるために必要なもの一覧
- OS: Windows11
-
仮想化基盤: WSL2(windows subsystem for linux)
- 既にVirtualBox等のVM環境がある場合は不用
- Ubuntu 22.04/24.04 推奨
-
コンテナエンジン: Docker Engine (Docker Desktopは不使用)
- 商用利用時のライセンス問題を回避するため、Linux版「Docker Engine」を使用します
-
Dify(本体): https://github.com/langgenius/dify
- 2025/11時点における最新版のv1.10.1には初期構築時の不具合あり
- 参考サイト: https://github.com/langgenius/dify/issues/28791
以下、セットアップ手順の詳細を記載します
1. WSL2のセットアップ
Windows11のPowerShellで以下の手順を実行
1-1. WSL2のインストール
> wsl --install
恐らくデフォルトでUbuntuがインストールされます(環境によるかも)。インストールが完了後、Linuxの初期ユーザ設定要求され、初期ユーザの設定が完了するとPowerShell上にUbuntuのコンソール(bash)が表示されます
1-2. インストール後の確認
> wsl -l -v
---
NAME STATE VERSION
* Ubuntu Running 2
もし、VERSIONが1の場合は2へアップグレード
> wsl --set-version Ubuntu 2
1-3. WSL2のUbuntu初期設定
Ubuntuのコンソール(bash)で以下の手順を実行
# rootのパスワード設定
$ sudo passwd root
# Ubuntuを最新化
$ sudo apt update && sudo apt upgrade
参考情報: WSL2の停止と再起動(再接続)等
WSL2はメモリ消費が大きいため使わない時は以下のコマンドで停止しておくことを推奨
> wsl --shutdown
WSL2が停止されている状態で再度起動する場合、または起動中のWSL2のコンソールに再度ログインする場合は以下のコマンドを実行
> wsl
参考情報: エクスプローラーからのアクセス
Windows11の「エクスプローラー」の「PC」の最下にLinuxのペンギンアイコンが追加され、配下に「Ubuntu」フォルダが作成される。これによりエクスプローラーからUbuntu内のファイルに直接アクセスが可能となる
3. Docker Engineのインストール
Docker Desktop(GUI版)ではなく、CLIベースのDocker Engineをインストールします。
Ubuntuのコンソール(bash)で以下の手順を実行
3-1. Dockerのインストールに必要な各種パッケージのインストール
$ sudo apt-get install ca-certificates curl gnupg
3-2. Docker用のAPTリポジトリの設定
Ubuntu初期状態のAPTリポジトリにDocker Engine用のリポジトリは含まれていないため手動でリポジトリ追加が必要となります
# GPGキーダウンロード先フォルダ作成(権限指定あり)
$ sudo install -m 0755 -d /etc/apt/keyrings
# GPGキーのダウンロード
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
## GPGキーの権限を変更
$ sudo chmod a+r /etc/apt/keyrings/docker.gpg
## APTリポジトリ設定(複数行で長いためコピペ推奨)
$ echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
## aptリポジトリから最新情報チェック
$ sudo apt-get update
Point!: お約束手順のため各コマンドの意味が理解出来なくても特に問題なし
3-3. Docker Engineのダウンロード&インストール
# Dockerダウンロード&インストール
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 動作確認
$ sudo docker run hello-world
Point!:
Hello from Docker!と表示されれば成功です
4. Difyのインストール
Ubuntuのコンソール(bash)で以下の手順を実行
4-1. Difyの最新版をダウンロード&環境設定ファイル作成
# ホームディレクトリへ移動してgithubからclone
$ cd ~
$ git clone https://github.com/langgenius/dify.git
# DifyのDocker環境設定ファイル作成
$ cd ./dify/docker
$ cp .env.example .env
※v1.10.1の不具合回避の手順
v1.10.1はそれ以前では発生しなかったパーミッション設定不備によるエラーが発生するため、以下の設定で回避する必要がある
参考サイト: https://github.com/langgenius/dify/issues/28791
# ストレージの権限を設定
$ cd ~/dify/docker/volume/app/storage
$ sudo chown -R 1001:1001 ./storage
$ sudo chmod -R u+rwX ./storage
Point!: 次期バージョン以降では恐らく修正されるため本手順は不要となる可能性が高いです
4-2. DifyのDockerコンテナ起動
初回起動時に以下のコマンドで必要なツール一式が自動ダウンロードされる
※ファイルサイズが2GBを超えるため時間がかかります
## コンテナの起動(必ずDocker用フォルダ配下で実行)
$ cd ~/dify/docker
$ sudo docker compose up -d
Point!: コンテナ起動時にエラーが発生場合の対処方法は後述します
参考情報: DifyのDockerコンテナ停止
Difyのコンテナを停止する場合は以下の通り
## コンテナの停止(必ずDocker用フォルダ配下で実行)
$ cd ~/dify/docker
$ sudo docker compose down
参考情報: Difyの指定バージョンをダウンロードする場合の手順
Difyはリリースが頻繁に発生し、若干動作が不安定なケースもあるため、参考までに旧バージョン(指定バージョン)のインストール方法も記載しておきます
# ホームディレクトリへ移動して指定バージョンのアーカイブを取得
# 以下はv1.9.2のダウンロード例
$ cd ~
$ curl -L -O https://github.com/langgenius/dify/archive/refs/tags/1.9.2.tar.gz
# ダウンロードしたアーカイブを解凍
$ tar -xzvf 1.9.2.tar.gz
# フォルダ名を変更
$ mv dify-1.9.2 dify
# DifyのDocker環境設定ファイル作成
$ cd ./dify/docker
$ cp .env.example .env
参考情報: コンテナ起動時のエラー発生した場合の対処
旧バージョンのDockerだとコンテナ初回起動時に以下のようなエラーが発生する場合がある
$ cd ~/dify/docker
$ sudo docker compose up -d
---
docker.credentials.errors.InitializationError: docker-credential-desktop.exe not installed or not available in PATH
---
もし、エラーが発生した場合は、「.config.json」を以下の通り修正
参考サイト: https://qiita.com/rasuk/items/a36b29b8c79d02fc551a
※最新版だと恐らく発生しないと思われます
# ".config.json"内の "credsStore"の"s"を削除して保存
$ cd ~/.docker
$ vi .config.json
---
{
"credsStore": "desktop.exe"
}
---
↓
---
{
"credStore": "desktop.exe"
}
---
# 再度DifyのDokcerコンテナ起動
$ sudo docker compose up -d
5. Difyの初期設定
Dify起動後にWidnows11のWebブラウザで「http://localhost」へアクセス
5-1. 管理者アカウントの初期設定
初回表示のみ「管理者アカウントの設定」の画面が表示される
- メールアドレス
- ユーザ名
- パスワード
※登録時にパーミッションエラーが発生する場合は、上記の「v1.10.1の不具合対応手順」を参照
Point!: 設定完了後にDifyのトップ画面が表示されればセットアップ完了です