![見出し画像](https://assets.st-note.com/production/uploads/images/138004423/rectangle_large_type_2_65d23ee53b7b9d61b810ffb84c116c93.png?width=1200)
絶対に失敗しないDifyデプロイの手順、AWS Lightsail編
こんにちは、Choimirai Schoolのサンミンです。
【重要なアップデート】
(2024.05.23)HTTPS設定の手順を追加
0 はじめに
Dify 101の参加者からよく聞く質問が、Difyを本番環境でデプロイする際、どんな手順がいいですか?です。
Dify 101の参加者からよく聞くのが本番環境としてどのクラウドサービスがいいですか?という質問。複数のオプションがある中でお勧めしたいのは「AWSのLightsail」⛵️。Difyは、2GBのメモリと2vCPUsのインスタンスでも十分足りる👏↓。しかも、3ヶ月間は無料で使えるのでまだの方はぜひ試してほしい✨。 https://t.co/ACc4EQtEjP pic.twitter.com/0bW6ivKQMd
— sangmin.eth @ChoimiraiSchool (@gijigae) April 20, 2024
今回のnoteでは、絶対に失敗しないデプロイの方法を紹介します。
1 Pre-requisite
①AWSのアカウント
クラウドサービスはGCPやAzure、AWSなど複数の選択肢が。AWS Lightsailは3ヶ月間無料ですので、このnoteではAWSのクラウドサービスを利用します。よって、先に進む前にAWSのアカウントが必要です。
![](https://assets.st-note.com/img/1713677108265-BlrKzhjiQx.png?width=1200)
②OpenAIやAnthropic、CohereからのAPIキー
Difyは手持ちのAPIキーを使う必要があります。まだでしたら、OpenAI、Anthropic、そしてCohereからのAPIキーを用意してください。
Anthropicの場合、携帯番号を登録しますと5ドル分のクレジットがもらえます。
あと、CohereはトライアルのAPIキーが使えます。
2 Difyをデプロイするまでの流れ
LightsailでDifyをデプロイする手順は次のとおりです。
①VMの作成
②SSHキーの作成
③SSHで①へアクセス
④スクリプトを貼り付けて実行(8分待つ)
⑤コンテナがスタートしたらサイトへアクセス(http://IP Address/install)
⑥アドミンアカウントの作成
⑦サイトへログイン
一連の流れをまとめた動画をXでシェアしましたので参考にしてください。
AWS Lightsailを使って、絶対に失敗しないDifyデプロイの仕方、を録画した動画↓。手順は、
— sangmin.eth @ChoimiraiSchool (@gijigae) April 21, 2024
①VMの作成
②SSHで①へアクセス
③スクリプトを貼り付けて実行
④8分待つ
⑤コンテナがスタートしたらサイトへアクセス
⑥アドミンアカウントの作成
⑦サイトへログイン
以上。10分あれば始められます🚀。 https://t.co/VBroQeASoX pic.twitter.com/HVImhmYGRH
3 デプロイ用のスクリプト
上述した手順の中で、3番目に記載したスクリプトはこちらのコードを参考にしてください。
curl -fsSL https://gist.githubusercontent.com/gijigae/50f400a5f91a39fbf2f0d0a652a9c409/raw/install-dify.sh -o install-dify.sh
sudo sh install-dify.sh
install-dify.sh のファイルをLightsailのVMへダウンロードし、そのスクリプトを実行するためのコードです。
![](https://assets.st-note.com/img/1713680402194-IA9HaCXqVA.png?width=1200)
ターミナルに「sudo sh install-dify.sh」が表示されましたら、Enterキーを押してください。Docker + Difyのインストールが始まります。デプロイが完了するまで、8分前後かかります。
4 注意事項
① Unable to load key
AWS LightsailでVMを作った後、すぐアクセスしようとすると下記のようなエラーメッセージが表示されるケースがあります。
![](https://assets.st-note.com/img/1713679885017-Vj6N2LFRp8.png?width=1200)
SSHの画面を閉じて、もう一度「Connect using SSH」のボタン(下記図参照)を押下すれば問題なくアクセスできます。
![](https://assets.st-note.com/img/1713680022227-RLoYqZDadS.png?width=1200)
② httpのURLでアクセスすること
AWS LightsailでデプロイされたDifyはhttpのURLでアクセスする必要があります。httpsでのアクセスですと下記のエラーが表示されます。
![](https://assets.st-note.com/img/1713680805836-qNXS9ZqPrc.png?width=1200)
③ コンテナが起動してからインストールの画面が表示されるまで2分程度かかる
下記の動画でもわかるように、コンテナが起動してからアドミンアカウントを作成するまで2分程度時間がかかります。
インストールの画面が表示されない場合は、少し時間をおいて画面をリフレッシュしてください。
5 HTTPSの設定
【追記:2024.05.23: HTTPS設定を追加】
より安全な環境を構築するためSSLの証明書を発行し、HTTPSの設定を行うことをお勧めしたいです。基本的な進め方は、
①Static IPアドレスを発行
②ドメイン名を取得
③Static IPとドメイン名を紐づける
④SSL証明書の発行
⑤docker-compose.ymlの設定変更
⑥dify/docker/ngnix/conf.dの設定変更
詳細は下記のページを参考にしてください。
6 Dify 101の宣伝
Choimirai SchoolではDifyの基本から始め、RAGの実装や本番環境での実装まで体験できるDify 101のプログラムを提供しています。
Difyがもたらす可能性を体験したい全ての方にお勧めしたいプログラムです。
7 まとめ
Difyは最新の言語モデルとツールを組み合わせることで、企業や個人のニーズに最適化した複合AIシステムが開発できる最強のツールです。しかも、オープンソース!
Dify(0.6.3)のJinaReaderとTavilyが体験できるワークフローをシェアしますのでご参考までに。使い方は、
— sangmin.eth @ChoimiraiSchool (@gijigae) April 16, 2024
①リンク(👉https://t.co/tXuuhZBAFi)を押下し、YAMLをDL
②Import DSL Fileで①をインポート
③TavilyのAPIキーを取得
④ツールからTavilyを有効にする
LLMはご自由に設定できます😊。 https://t.co/K3SKiwFpHA pic.twitter.com/yMsjH624nI
但し、本番環境でデプロイしようとするとDockerのインストールから、コンテナイメージのダウンロドまで慣れてない方ですとハードルが高いのも事実。その課題を解決するため、全ての手順を自動化できるスクリプトを用意しましたのでまだの方はぜひ参考にしてください。AWS Lightsailは3ヶ月間無料となりますのでいろんな実験が可能かと思っています。
スクリプトや手順につきまして何か質問があれば、 #Dify部 のタグをつけ、Xで教えてください。