格安VPSでDifyを立ち上げてみた

Difyは、AIアプリケーションの開発と運用を簡単にするオープンソースのツールです。Difyのページからクラウドサービスに登録して使い始めることもできます。

お試し程度であれば、Freeプランを使うのも良いかもしれませんが、実際にアプリケーションを運用するとなると、PROFESSIONAL以上が必要になります。


また、RAG(Retrieval-Augmented Generation )の機能を使うとなると、ドキュメントをサーバにアップロードする必要があり、少し抵抗があります。

そこで、今回は格安VPSであるWebArenaを使って、Difyをインストールしてbotアプリケーションを作ってみました。

WebArena Indigo

商用アプリケーションを作るのであれば、AWSやGoogleCloudなどを使った方が安心できますが、学習目的やチーム内で使うレベルであれば、格安のVPSで十分かと思います。今回は、NTT PCが提供しているWebArena Indigoを使いました。料金体系は以下の様な感じです。

Difyを動作させるには、メモリが4GB以上必要とありましたので、1,482円(税込1,630円)のプランを選びました。ちなみに、OSはUbuntuを選択しています。

インスタンスの作成からSSH接続

格安VPSなのでマニュアルはあまり充実していません。よく読めばどこかに書いてあるかと思いますが、少し詰まったことをメモしておきます。

SSH鍵の作成

インスタンスを作る前に、SSH鍵を取得する必要があります。

ダッシュボードから 「+SSH鍵の作成」をクリックすると、新しい鍵が作成されます。 作成時に、private_key.txtが自動的にダウンロードされます。これは作成時にしか取得できませんので、注意が必要です。このファイルを~/.ssh以下にコピーしておき、chmodでアクセス権を変えておきます。

chmod 600 private_key.txt

インスタンスの作成

OSはいくつかの選択肢がありますが、今回は、ubuntu22.04を選択しました。

サイズは、こちらを選択しました。

あとは、先ほど作成したSSH鍵を選択して作成を押すと完了です。

リージョンは、日本(東京)のみです。

OSのインストールが終わり、準備ができるとステータスが「Stopped」になりますので、選択から「インスタンスの起動」を選んで、起動します。

ステータスがRunningに変わったら準備完了です。

SSH接続

SSH接続時のログイン名は”root"ではなく”ubuntu”になります。ログイン名は、OSごとに異なります。<HOST>にはIPアドレスを指定します。

ssh -i ~/.ssh/private_key.txt -p 22 ubuntu@<HOST>

これで、サーバとSSH接続ができたかと思います。

Difyのインストール

SSH接続できたらまず、システムのアップデートをします。

sudo apt update && sudo apt upgrade -y

Difyは、Dockerを使用してデプロイするのが最も簡単です。

先に、以下の手順でDockerをインストールします。

# Dockerのインストール
sudo curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# Docker Composeのインストール
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

DifyはGithubからクローンしてきます。

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

.envファイルで環境を設定します。

cd dify/docker
cp .env.example .env

.envファイルを必要に応じて編集します。このままでも動作はしますが、パスワードはデフォルトになっているので変更しておいた方が良さそうに思います。

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

sudo docker-compose up -d

ブラウザから以下のURLを開いて管理画面が出れば成功です。

http://host_ip