Open4

DifyをGCEにデプロイする手順

寺本大輝寺本大輝

一度試して上手く行ったものをChatGPTにまとめさせたスレッドです。
準備として、事前にGCPプロジェクトで課金を有効化しておく必要があります。

寺本大輝寺本大輝
  1. Google Cloud CLI を使用して、GCE インスタンスを作成。
gcloud compute instances create dify \
  --zone=asia-northeast1-b \
  --machine-type=e2-small \
  --tags=http-server,https-server
  1. GCE インスタンスへの SSH 接続。
gcloud compute ssh dify --zone=asia-northeast1-b
  1. Docker と Cloudflared のインストール。
sudo apt update
sudo apt install -y ca-certificates curl gnupg
sudo mkdir -p /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o /usr/bin/cloudflared && sudo chmod +x /usr/bin/cloudflared
  1. Dify リポジトリのクローンと起動。
git clone https://github.com/langgenius/dify.git
cd dify/docker
docker compose up -d
  1. Cloudflared 認証を実施。
cloudflared tunnel login
  1. Cloudflare Tunnel の作成。
cloudflared tunnel create dify-internal
  1. Cloudflare Tunnel の設定ファイル作成。
sudo mkdir -p /etc/cloudflared
sudo nano /etc/cloudflared/config.yml

config.yml ファイルの内容:

tunnel: dify-internal
credentials-file: /home/YOUR_NAME/.cloudflared/YOUR_TUNNEL_ID.json
origincert: /home/YOUR_NAME/.cloudflared/cert.pem

ingress:
  - hostname: dify.YOUR_DOMAIN.com
    service: http://localhost:80
  - service: http_status:404
  1. Cloudflare Tunnel の実行。
cloudflared tunnel run dify-internal
  1. Cloudflare ダッシュボードで Always Use HTTPS を有効化。

  2. ファイアウォールルールの設定で、IP アドレス (http://<GCEの外部IP>) への直接アクセスをブロック。

  3. ブラウザで https://dify.YOUR_DOMAIN.com/install へアクセスし、Dify の初期セットアップを完了。

寺本大輝寺本大輝

こういうエラーが出た場合

permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/version": dial unix /var/run/docker.sock: connect: permission denied

こうする

sudo usermod -aG docker $USER
newgrp docker
寺本大輝寺本大輝

Difyプラグインを今すぐ使いたい人向け (2025/01/11)

git fetch --all --tags
git checkout tags/1.0.0-beta.1
cd dify/docker
docker compose pull
docker compose up -d