DifyをWSLに入れて遊んでみる
WSL の環境を整える
WSL(Ubuntu)にDocker環境を構築する を参考に Docker 環境を整えます。
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
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
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo usermod -aG docker $USER
sudo docker run hello-world
git が必要なのでこれも入れます。
sudo apt-get install git
Dify を WSL にクローンする
Dify のリポジトリをクローンします。
git clone https://github.com/langgenius/dify
Cursor でコンテナを開く
Windows から Cursor(もしくは VScode) 経由で WSL を見ている状態で、クローンした /dify
を開きます。
Cursor には Remote Development
の拡張機能パックが入っている環境であれば、コンテナで開く選択肢が表示されると思います。
Remote Development - Visual Studio Marketplace
コンテナ環境へ移行します。
構成には時間がかかるみたいなのでしばらく待ちます。
なんかエラー吐いてますが…
後々大丈夫っぽいのがわかったので無視しておきます。
Dify を起動してみる
Cursor からターミナルを開いて ./docker
へ移動し、入れてみます。
cd ./docker
docker compose up -d
Docker 初学者なのでわからないことだらけですが、compose
は、複数コンテナを動かすときのコマンドらしいですね。
【入門】Docker Composeとは?インストールと使い方 - カゴヤのサーバー研究室
ターミナル上で動作が終わったら、http://localhost/install
にアクセスできるようになっているのでアクセスしましょう。
アクセスするとこのように出てくると思います。
最初はぐるぐる回っていましたが、しばらく待っても治らなかったので一回ブラウザ更新をかけたらここに来れました。
各項目を記入すると、ログイン画面に行けるのでログインします。
ログインするとこのようになります。
これで Dify 開発が行えるようになりました。
ターミナル上で動いてるわけではないらしいので、ターミナルを閉じても動作し続けます。
コンテナから脱出する際は、左下の 開発コンテナー~
をクリックします
メニューが出てくるので、WSLでフォルダーをもう一度開く
を押すといつもの WSL に戻れます。
ターミナルで普通に起動する
ここまでやって、「Cursor で動かす意味ないな?」と思い始めたので、普通にターミナルから起動します。
やり方はよく書かれてる方法でいけます。
cd dify/docker
docker compose up -d
Dify を終了させる
前述の通り、ターミナル上で動いているわけではないのでターミナルを閉じても Dify は動き続けます。
どうやって Dify を終了させるのかといいますと、このようにします。
dify/docker
にcd
するdocker compose down
をする
up の反対は down なんですね、なるほどなあ。
dify/docker
の中で compose down
することがミソなので、ターミナルを終了した状態からだとこうします。
cd を外すと compose down
ができません。
cd dify/docker
docker compose down
おわりに
Dify の起動から終了までを触ってみました。
Dify、使ったら便利なんだろうけどなかなか使い道が思いつかないので眠ってる状態が多いです。