2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DIfyを無料で制限なく使いたいので、ローカルPCにセルフホストしてみた。

Last updated at Posted at 2025-10-24

はじめに

Difyってご存じですか?
LLM活用のためのワークフローや生成AIチャットアプリを簡単に構築できる、いわゆるノーコード・ローコードツールの一種です。
クラウド版も提供されているのですが、個人が無料で使う場合にはクラウド版だといろいろと制限があり、有料契約が意外と高いなと思っていました。

そこで今回、ローカルPCでホストしてみようと思い至りました。
まぁ実は最初は、OCI(Oracle Cloud Infrastructure)のAlways Free VMを使ってホストして、24時間365日使い放題のクラウドDifyを構築してやるぜー! と息巻いていたのですが、OCIの東京リージョンのAlways Free VMのリソースが枯渇しているのか、新規にリソース作成ができない事象が長らく続き、ついに断念して「ローカルPCでいいや~」となりました(笑)。

ローカル環境でDifyを運用するメリット

ローカル環境でDifyを運用することには、クラウドサービス上でのホスティングと比較して多くの利点があります。

まず、完全無料で期限なく使い続けられる点が最大の魅力です。(電気代はかかりますけどね!)
クラウドサービスの無料枠には期限や制限がありますが、ローカル環境ではそのような心配は不要です。(電気代はかかりますけどね!)」

また、データプライバシーの観点からも優れており、すべてのデータが自分のPC内に保存されるため、機密情報を扱う場合でも安心です。(自分のセキュリティリテラシー次第だけどね!)

さらに、インターネット接続が不安定な環境でも動作し、レイテンシが低いため、快適に操作することができます。

その反面、デメリットとしてはやはりローカルPCの電源が入っていないと使用できない点です。
なので、構築したワークフローをAPI化して他のアプリから使用する、などといった使い方は少し非現実的かもしれません。
ただ、ミニPCなどに導入して電源入れっぱなしのサーバー化するのであれば、そういった使い方も視野に入るかもしれないですね。

システム要件

Difyをローカル環境で動作させるには、以下の最小要件を満たす必要があります。

項目 最小要件 推奨構成
CPU 2コア以上 4コア以上
RAM 4GB以上 8GB以上
ストレージ 10GB以上の空き容量 20GB以上の空き容量
OS Windows 10/11、macOS 11以降、Ubuntu 22.04以降 最新版

今回検証した環境

私の今回の環境は以下の通りです。
WSL2はセットアップ済みでDocker、Gitもインストール済みの前提で記事を書くこととします。

OS:Windows 11 の WSL2(Ubuntu 24.04.1 LTS)
CPU:AMD Ryzen 7 5700U with Radeon Graphics(1.80 GHz)
RAM:32GB

RAM32GBと書きましたが、WSL2上でDockerコンテナーで起動するため、このうち4~8GB程度をDifyに割くようなイメージだと思っています。
なので、RAM16GBのマシンだと少し厳しいかも? 動かないことはないか……な印象です。

Windows 11を前提として書きますが、実行しているのはWSL2上ですので、おそらくMacや他のLinuxディストリビューションでも、そう変わらない手順でいけるのかなと思っています。

では早速、導入していきましょう!

構築手順

WSL2(Ubuntu)を開きます。

以下のコマンドを実行してDifyの最新リリースをクローンします。

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

Difyの設定ファイルをコピーします。

cp .env.example .env

ここでコピーした.envファイルには、データベースのパスワードやAPIキーなどの設定が含まれています。デフォルト設定のままでも動作しますが、必要に応じて編集できます。
編集する場合はこのファイルをメモ帳やVSCodeなどのテキストエディタで開いて編集しますが、今回は割愛します。

Docker Composeを使用してDifyを起動します。

docker compose up -d

このコマンドにより、必要なDockerイメージがダウンロードされ、バックグラウンドでコンテナが起動します。
初回は複数のイメージをダウンロードするため、数分から十数分かかる場合があります。
WSL2上でいろいろと途中経過が表示されるので、見ながら気長に待ちましょう。
私の環境では初回で10分ほど、2回目以降は10秒もかからず起動しました。

起動が終わってコマンド入力可能な状態になったら、以下のコマンドで、すべてのコンテナが正常に起動していることを確認します。

docker compose ps

api, worker, web, db, redis, nginxなどのコンテナがUpまたはrunning状態で表示されていれば成功です。

ウェブブラウザを開き、以下のアドレスにアクセスします。

http://localhost/install

上記アドレスにアクセスすると、Difyのセットアップ画面が表示されます。
初期設定として、管理者の登録をする必要があります。
メールアドレスを入力し、ユーザー名、パスワードを決めて入力し、決定を押下します。

アカウント作成が完了すると、ログイン画面にリダイレクトされます。先ほど作成したメールアドレスとパスワードでログインしてください。

ログインに成功すると、Difyのダッシュボードが表示され、すぐにAIアプリケーションの開発を始められます。

image.png

上記は私の初期構築後のDifyの画面です。
まだアプリやワークフローなどは1つもありませんが、これからここで構築を始めることができます。
(ダークモードに設定していますが、ライトモードならもっと明るいです(笑))

停止方法

Difyを停止する場合は、以下のコマンドを実行します。

docker compose down

ポートの変更方法

また、他にホストしているアプリがある場合などに、ポートを指定したい場合は、.envファイルの「EXPOSE_NGINX_PORT」の値を編集します。

# .envファイルを編集
EXPOSE_NGINX_PORT=8080

本記事の初期値のままだと、ポート80で起動しますが、ほかのアプリケーションですでにポート80を使用している場合は、そのままではDifyを起動できません。
そういう場合はポート8080などに変えてあげると良いでしょう。

編集後、以下のコマンドでDifyを再起動します。

docker compose down
docker compose up -d

その後、上記の例の通りポート8080で起動したならば、http://localhost:8080でアクセスできます。

おわりに

おそらく、意外なほど簡単な手順だったかと思います。
これで今流行りのLLMワークフローやLLMアプリを簡単に作って試す、PoCやMVP開発のサイクルを速く回すこともできると思います。
速く作って価値を確かめて、本格的に作ると決めたらコード化する、といった使い方も良いのではないかなと思います。

以上、DifyをローカルPCにホスティングして利用する方法について、解説しました。
次はアプリやワークフローの構築例などを記事にできると楽しそうだなぁ、などと想像しています。

ご感想、ご指摘等ありましたら、ぜひコメントなどをいただけますと非常に嬉しいです。

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?