見出し画像

Xserver VPSのDifyアプリイメージセットアップ+α

2024/8/9にXserverからお手軽Dify環境がリリースされたので、それに伴う設定の備忘録。

サマリー

  • ドメインはXserverドメインを利用した

  • Xserver VPSのDifyアプリイメージを新規契約

  • パケットフィルターは一応戻した

  • 同じXserver VPS上にfirecrawlも入れてみた

※2024/8/27修正
 USE_DB_AUTHENTICATION の記述が間違っていたので修正

※2024/9/15追記
 beta版のときの対応について追記


事前準備

ドメイン取得

Xserverドメインで適当に取得。

Xserverドメイン:ネームサーバー設定

  1. ドメイン適用先サービス > Xserver VPS

  2. [設定を変更する]

証明書取得用メールアドレス

何でもいいから決めておく。

Xserver VPS

Xserver VPS 契約

公式のマニュアルを参考に設定していく。

  1. https://vps.xserver.ne.jp/  > お申し込み > アカウント設定

  2. 初めての場合は、公式マニュアルの「2.Difyをインストール」から

    1. アプリケーション > Dify

    2. rootパスワード設定
      <任意の文字列> ※メモっておく

    3. SSH Key
      初めての場合は
      キーを作成する > 登録方法:自動生成 > 名前:<任意の文字列>

    4. [確認画面へ進む]

  3. 秘密鍵をダウンロード後確認後、インストール完了
    (OSは Ubuntu 固定?)

Xserver VPS:パケットフィルターの設定(OFFにする)

  1. https://secure.xserver.ne.jp/xapanel/xvps/index > 当該サーバーの[VPS管理]

  2. サーバー > パケットフィルター設定

  3. OFFにする > [変更する]

Difyセットアップ

Xserver VPS:コンソールログイン

  1. https://secure.xserver.ne.jp/xapanel/xvps/index > 当該サーバーの[VPS管理]

  2. [コンソール]

  3. ログイン
    login: root <enter>
    Password: (上で設定したパスワード)<enter>
    ※Password入力時はキーを打っても画面は動かないが入力はされている

セットアップ

  1. setup.sh <自分で取得したドメイン> <証明書取得用メールアドレス>

  2. Let's Encryptからの証明書更新情報やその他のニュースの受け取り確認
    【メッセージ】…..(Y)es/(N)o:
    受け取る場合は「Y」、不要な場合は「N」を入力し <enter>

  3. セットアップ完了

SSL証明書更新

  1. ssl_update.sh <自分で取得したドメイン> <証明書取得用メールアドレス>

  2. 証明書更新確認
    【メッセージ】…..1: 既存の証明書を使用 / 2: 更新または差し替え
    2 を押して <enter>

  3. 更新完了

アップデート

  1. update.sh

  2. アップデート完了

DNS&パケットフィルター設定

Xserver VPS:ドメインの追加

  1. https://secure.xserver.ne.jp/xapanel/xvps/index > [DNS設定]

  2. [+ドメインの追加]

  3. ドメイン:<自分で取得したドメイン>

  4. [確認画面へ進む] > [設定を追加する]

Xserver VPS:DNSレコード設定の追加

  1. https://secure.xserver.ne.jp/xapanel/xvps/index > [DNS設定]

  2. 当該ドメイン名 > [選択する]

  3. [DNSレコード設定の追加]

  4. ホスト名:(空のまま)
    種別:A
    内容:(サーバーのIPアドレス)

  5. [確認画面へ進む] > [設定を追加する]

Xserver VPS:パケットフィルターの設定(ONにする)

  1. https://secure.xserver.ne.jp/xapanel/xvps/index > 当該サーバーの[VPS管理]

  2. サーバー > パケットフィルター設定

  3. [+パケットフィルター設定を追加する]
    フィルター:手動で設定
    プロトコル:TCP
    ポート番号:443
    許可する送信元IPアドレス:すべて許可
    メモ:https
    [追加する]

  4. ONにする(推奨) > [変更する]

※なんらかの不具合が出るようであれば、OFFに戻してください。


ここまで来たら、とりあえず
 https://<自分で取得したドメイン>
でDifyの最新版にhttpsでアクセスできると思います。
他のサイトを参考に、管理者設定やら、いろいろ済ませてください。


firecrawl

以下のサイトを参考に同じ Xserver VPS 上に構築。
インストール先はホームディレクトリ。

Xserver VPS:コンソールログイン

こちらを参照
※sshでログインできる人はそれでもいいです。

リポジトリのコピー

  • 念のためホームディレクトリに移動

$ cd ~
  • 既存の Git リポジトリをコピー

$ git clone https://github.com/mendableai/firecrawl.git

環境変数構成ファイル .env の準備

  • firecrawl ディレクトリに移動

$ cd firecrawl
  • apps/api/ 内にある .env のサンプルをコピー

$ cp apps/api/.env.example .env

# .envがコピーされたかどうか確認
$ ls -a 

環境変数構成ファイル .env の編集

コピーされた .env を任意のエディタ(viなど)で編集

  • USE_DB_AUTHENTICATION を false に変更

## To turn on DB authentication, you need to set up supabase.
USE_DB_AUTHENTICATION=false
  • TEST_API_KEY を設定
    fc- で始まる任意の文字列に設定

TEST_API_KEY=<自分で設定したTEST_API_KEY>

参考サイトで触れられている「REDIS_URL」は、2024/8/25時点では最初から「REDIS_URL=redis://redis:6379」になってた。

コンテナの起動

5分ほどかかる

$ docker compose up -d

# 動作確認
$ curl -X GET http://localhost:3002/test

Dify:データソースの追加

  1. Dify > 右上のアカウント > 設定

  2. ワークスペース: データソース > ウェブサイト(によるFirecrewl) の [設定]

  3. API Key:<自分で設定したTEST_API_KEY>
    Base URL:http://<自分で取得したドメイン>:3002
    ※httpsではなくhttp。末尾のポート番号も忘れずに

  4. [保存] > アクティブになったらOK

※Base URLは、参考サイトの「http://host.docker.internal」では動作しなかったので、<自分で取得したドメイン>に変更。

Dify:ナレッジ作成で利用

  1. Dify > ナレッジ > [+ナレッジを作成]

  2. データソースの選択 > ウェブサイトから同期

  3. Firecrawl を使っでウエブコンテンツを抽出を設定
    - URLは必須
    - 制限は取得するページの上限数………なんだろうけど、機能していない気がする(汗)※2024/8/25現在

  4. [次へ] > いろいろ設定して[保存して処理]

2024/8/25現在
制限(Limit)が機能していない気がするので、最大深度(Max depth)やその他パス設定を駆使して、慎重に行ってください。

【firecrawl使用感】

  • スクレイピング実行時は、サーバーが結構重たくなる。


beta版を使う

並列処理の v0.8.0 が出る際、正式版が出る前にbeta版が出ていました。
beta版は Xserver VPS であらかじめ用意されている update.sh では対応しないため、利用の際は手動で行う必要があります。※2024年9月現在

beta版に切り替えて使う手順

(v0.7.2 が最新の正式版のときに、v0.8.0-beta1 に切り替えた際の事例)
sshまたはコンソールに接続後、

# ディレクトリ移動
$ cd ~/dify/docker

# リモートリポジトリの最新の履歴を取得
$ git fetch --all
$ git checkout 0.8.0-beta1

# いちおうmain以外の別のブランチを作って切り替えておく
$ git switch -c beta-branch

# イメージの取得&再起動
$ docker compose down
$ docker compose pull
$ docker compose up -d

正式版に戻して使う手順

(v0.8.0-beta1 利用中に、正式版の v0.8.0 が出たときの事例)
sshまたはコンソールに接続後、

# ブランチの一覧確認
$ git branch

# mainブランチに戻す
$ git checkout main

# 今のブランチの確認
$ git branch --contains

# Xserverのアップデートスクリプトを実行
$ update.sh

この記事が気に入ったらサポートをしてみませんか?