Dify v1.0.0-betaをEC2にインストールする手順

前提条件

  • メモリ4GB以上のインスタンスが必要
  • t3.medium (4GiB)以上のインスタンスタイプを推奨
  • Amazon Linux 2023 AMIを使用

インストール手順

1. EC2の初期設定

以下のセキュリティグループを設定します。

  • SSH (22番ポート)
  • HTTP (80番ポート)
  • HTTPS (443番ポート)

2. 必要なパッケージのインストール

sudo su - ec2-user
sudo yum update -y
sudo mount -o remount,size=15G,noexec,nosuid,nodev /tmp
sudo yum install python3-pip -y
pip3 install --upgrade pip
sudo dnf install -y git docker
sudo usermod -aG docker $USER

3. Docker Composeのインストール

DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins

# x86_64アーキテクチャの場合
curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose

chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
sudo systemctl enable docker
sudo systemctl start docker

4. Difyのインストール

git clone https://github.com/langgenius/dify.git
cd dify/docker
git checkout 1.0.0-beta.1
./generate_docker_compose
docker compose -f docker-compose.yaml up -d

5. 初期設定

ブラウザで http://{EC2のIPアドレス}/install にアクセスし、管理者アカウントを作成してログインします。

注意事項

  • v1.0.0-betaは本番環境での使用は推奨されていません。
  • プラグインシステムへの移行に伴い、一部のツールが利用できなくなる可能性があります。
  • アップデートが必要な場合は、以下のコマンドを実行します。
cd dify/docker
git pull origin main
docker compose down
docker compose pull
docker compose up -d

トラブルシューティング

1. Dockerが起動しない場合

Dockerが正しくインストールされていない、またはサービスが起動していない可能性があります。以下のコマンドで確認してください。

sudo systemctl status docker

問題がある場合は、以下のコマンドを実行して再起動してください。

sudo systemctl restart docker

2. docker compose up -d 実行時にエラーが発生する場合

エラーが発生した場合は、ログを確認してください。

docker compose logs

また、環境変数の設定が正しく行われているか確認してください。

export $(grep -v '^#' .env | xargs)

環境変数を再設定した後、Dockerを再起動してもう一度 docker compose up -d を実行してください。

3. インストール後、Webページが開かない場合

  • セキュリティグループの設定を確認し、HTTP/HTTPSのアクセスが許可されているか確認してください。
  • docker ps を実行し、Difyのコンテナが正しく動作しているか確認してください。
  • 必要に応じて docker restart <コンテナID> を実行して再起動してください。

まとめ

本ガイドでは、Amazon Linux 2023 AMI上でDify v1.0.0-betaをEC2にインストールする手順を説明しました。インストール後のトラブルシューティングについても紹介しました。問題が発生した場合は、公式ドキュメントやフォーラムを参照して対応してください。