1. Difyとは?
Difyは、AIアプリケーションの開発を支援するオープンソースのプラットフォームです。GPTsのようにノーコードで開発も可能です。Difyでは主に以下の2つのエディションが提供されています。
クラウド版: Difyの公式サービスとして提供され、手軽に利用できる。無料プランもあるが機能が限られる。コミュニティ版: 自前のPCやサーバーに構築して運用可能。自由度が高く、カスタマイズが容易。Dify自体は無料で利用可能(使い方によってはサーバーやLLM APIの利用料が発生します)。
今回は、コミュニティ版をConoHaのVPS上で構築する手順を解説します。
2. ConoHaとは?
ConoHaはGMOインターネット株式会社が提供するクラウドホスティングサービスです。ブログやホームページ作成に最適なレンタルサーバー「ConoHa WING」をはじめ、高性能な仮想専用サーバーがかんたん、リーズナブルに使える「ConoHa VPS」等、用途に応じた様々なサービス形態があります。今回はConoHa VPSを使ってDifyを構築します。
3. ConoHaのセットアップ
3.1. ConoHaにログイン or アカウントを新規作成してログイン
https://www.conoha.jp
3.2. サーバー追加
Difyの最小システム要件は以下です。
CPU >= 2コアRAM >= 4GB
今回はConoHa VPSの4GBプランで構築します。
サーバースペック:メモリ4GB, CPU 4コア, SSD 100GBOS:Ubuntu 24.04
※ConoHaには長期割引プランがあります。長期であればあるほど、月単位の料金が割引になりお得になるのでおススメです!
3.3. セキュリティーグループの作成と適用
サーバー起動後、仮想ファイアウォールであるセキュリティーグループを設定します。今回はDifyの利用に最低限必要なSSH用の22番ポートとHTTP接続用の80番ポートを開放します。
※セキュリティ侵害を防ぐためにIP/CIDRで接続元を限定してお使いください。
次に作成したセキュリティーグループをサーバーに適用します。サーバーの詳細からネットワーク情報のセキュリティーグループを編集し、作成したセキュリティーグループを追加してください。
4. Difyのセットアップ
4.1. サーバーにsshログイン
作成したサーバーにrootでsshログインしてください。サーバーのIPはConoHaのサーバーリストから確認できます。
4.2. 一般ユーザの作成とsudo権限付与
一般ユーザーを作成し、sudo権限を付与します。以下は一般ユーザーをkuwaharaとしたときの例です。
一般ユーザーを作成
# adduser kuwahara
sudoグループに追加
# usermod -aG sudo kuwahara
ユーザーの切り替え
# su kuwahara
作業ディレクトリへ移動(一般ユーザーのhomeディレクトリとする)
$ cd ~
4.3. Difyのソースをダウンロード
$ git clone https://github.com/langgenius/dify.git
$ ls
difyディレクトリが作成されていることを確認
4.4. Dockerのセットアップ
Difyの実行にはDocker EngineとDocker Compose(v2) pluginが必要です。Qiitaに掲載されている 「Ubuntu24.04へDocker Engine 一式をインストール (Compose含む)」こちらの記事を参考にセットアップしてください。非常によくまとまっており、記載の通り実行してDockerのセットアップできることは確認済みです。
4.5. DifyのDockerコンテナ起動
dockerディレクトリへ移動
$ cd dify/docker
.envファイルを.env.exampleのコピーによって作成
$ cp .env.example .env
composeでdockerコンテナ作成&起動
$ sudo docker compose up -d
4.6. ufwでHTTPのポートを開放
$ sudo ufw allow http
4.7. ブラウザでDifyの管理者設定画面にアクセス
http://<VPSのIPアドレス>/install
上記から管理者アカウントを作成してログインすれば、最低限のDifyのセットアップは完了です。
まとめ
本記事では、Difyのコミュニティ版をConoHaのVPS上に構築する手順を解説しました。思ったより簡単に構築きたのではないでしょうか?Difyは、GPTs相当の機能を無料で利用できるオープンソースプロジェクトであり、 独自のAIアプリケーションを開発するのに最適な環境を提供します。 また、オープンソースであるため、開発スピードが速く、新機能やバグ修正が迅速に行われるのも大きなメリットです。
本記事を参考に、ぜひDifyを活用し、柔軟なAI開発環境を構築してみてください!