0. この記事の記載内容
この記事では、比較的大きめの日系企業における、ある程度セキュリティのかかった会社支給の Windows PC にて、WSL2 がユーザーアカウントで用いることができないことの回避策として、Rancher Desktop を用いて Dify のセルフホスト環境を構築する方法について記載します。
(ですので、例えば Mac や linux 使っているだとか、Windows でも不自由なく WSL2 とかがユーザーアカウントで使える場合は、この記事の情報は役に立たないかもしれません。)
流れは以下です:
- 管理者アカウントでログインし WSL2 をインストール
- ユーザーアカウントでログインし、Rancher Desktop をインストール・起動
- Dify を git clone またはリモートリポジトリから .zip でダウンロード&展開
- docker 起動
- web ブラウザで Dify の localhost にアクセスしアカウント登録
Dify におけるモデルプロバイダーの設定や使い方について当該記事では記載しないので、他の記事をご参照ください。
1. 背景/概要
日々の業務お疲れ様です。
AI ワークフローやチャットボットを簡単に作成できる Dify を用いて社内で使えるツールを作ろうとしたのですが、セキュリティ面・コスト・拡張性を考えると、web 版ではなくローカルに環境を構築した方が良さそうということが、こちらのサイト (https://dify.ai/jp/pricing) から分かりました。
以下画像の通り、例えば無料で使おうとすると、web 版では Sandbox というのが該当し、メッセージ数/アプリ数/ナレッジ登録数・容量/リクエスト数など多くの制限があるようです。一方、セルフホスト版では Community というのが該当し、Dify オープンソースライセンスに準拠していることから、web 版における上記縛りはなさそうです。


ということで、Dify をローカルに環境構築しようとしました。
Windows PC では、WSL2 の docker 上で Dify を動作させるのが良くあるパターンのようなので、良くある記事のとおり同じように構築作業を進めていったのですが、会社で使っている Windows PC では、管理者アカウントで WSL2 は有効化できて使えたものの、ユーザーアカウントでは WSL2 が起動せず詰んでしまいました。
恐らくは、会社のセキュリティポリシーにより、ユーザーアカウントでの仮想化機能の利用が制限されているためと考えられます。
どうしたものかとその後色々調べた結果、Windows 用の Docker Desktop の代わりに Rancher Desktop を用いる的な記事(詳細は忘れました...)が一瞬目に留まり、試しに Rancher Desktop をインストールした結果 Docker コマンドが Windows 環境上で扱えるようになり、無事環境構築できたため、今回この記事として紹介します。
2. 環境構築の手順
2.1. 管理者アカウントでログインし WSL2 をインストール
- 管理者アカウントの利用申請:
- まずは普段お世話になっている情シスさん(情報システム部門)に、社用 PC の管理者アカウントとパスワードについて発行申請しましょう
- "管理者アカウント" については会社によって admin / super user など呼び方は異なると思います
- 「情報システム部門なんか無いよ」という方は、恐らく何の制限もないかと思われるので、良くある WSL2 & Docker で Dify をセルフホストする記事を参考にしてください
- 管理者アカウントでログインしてコマンドプロンプトを開き、
wsl --installでインストールし、PC 再起動 - 再び管理者アカウントでログインし、スタートメニューから Ubuntu を起動して、ユーザー名とパスワードを設定して、WSL2 のインストールが完了
PC のセキュリティによっては、Rancher Desktop のインストール時に WSL2 も一緒にインストールできる場合があります。
また、詳しく調べがついていないのですが、Rancher Desktop の設定によっては WSL2 自体不要である可能性がありますので、上記ご留意ください。
2.2. ユーザーアカウントでログインし、Rancher Desktop をインストール・起動
https://rancherdesktop.io/
上記リンクに飛び、以下画像の赤丸で示した Windows 版の Rancher Desktop のインストーラーをダウンロードします。

インストーラーを起動し、以下のように設定していきます。

好みですが、下図ではユーザーアカウントだけで用いられるように設定しています。

インストールします。

インストールが終わったら起動しましょう。

起動画面は下図です。
何か処理中の場合は右下のプログレスバーで確認ができ、進行中の場合は終わるまで待ちましょう。

2.3. Dify を git clone またはリモートリポジトリから .zip でダウンロード&展開
https://github.com/langgenius/dify.git
上記の Dify のリポジトリを gitbash などで clone する (git clone https://github.com/langgenius/dify.git)、もしくは、下図のように .zip ファイルをローカルにダウンロードし、展開しましょう。

2.4. docker 起動
手順 2.3. でクローン or 展開したフォルダへ行き、コマンドプロンプトか何かで開きましょう。
公式サイト (https://github.com/langgenius/dify.git) に記載の通り、クローンまたは展開した dify フォルダ内にあるリポジトリの docker/ 階層へ行き、.env.example を .env としてコピーしたら、docker compose up -d にて Dify のコンテナを起動します。

コンテナ起動状況の確認は Rancher Desktop の Containers タブ、もしくは、コマンドラインから docker ps にて確認ができます。

2.5. web ブラウザで Dify の localhost にアクセスしアカウント登録
http://localhost/install
上記にアクセスすると下図のような画面が開くので、アカウント登録します。


http://localhost/install にアクセスした際に 404 エラーなどが出てしまう場合は、立ち上がっているコンテナを Rancher Desktop の Containers タブで停止させたいコンテナにチェックマークを付けて Stop を押下することにより停止させ、タスクバーの Rancher Desktop を終了し、もう一度 Rancher Desktop を立ち上げなおしてコンテナーが再起動された後に、もう一度アクセスしてみてください。
それでもエラーが出てしまう場合は、PC を再起動させ、Rancher Desktop を立ち上げなおしてコンテナーが再起動された後に、もう一度アクセスしてみてください。
登録したアカウントでログインすることにより、無事に Dify のセルフホスト環境が構築されました。

再度 Dify 使う場合は以下からアクセスできます。
http://localhost/apps
コンテナを停止させる場合は、Rancher Desktop の Containers タブで停止させたいコンテナにチェックマークを付けて Stop を押下することにより停止させることが可能です。

3. まとめ
この記事では、セキュリティの厳しい会社の Windows PC で、Dify のセルフホスト環境を構築する方法を紹介しました。
このような PC でも Rancher Desktop を活用することで、ユーザーアカウントで Docker 環境を整え、無事に Dify をローカルで動かすことが可能になりました。
これで、Dify の持つ強力な機能を、会社のセキュリティやコストを気にすることなく、自由に試せるようになりました。
この記事が、あなたのAI活用の一助となれば幸いです!