ガイドPostgreSQLでFlowiseを実行

PostgreSQL で Flowise を実行する

このガイドでは、Lizard 上で 1 つの Flowise サービスを実行し、フロー、アカウント、暗号化された認証情報に PostgreSQL を使用します。正確な npm バージョンをビルドし、暗号化キーをサービスシークレットとして設定します。

基本構成は API を使用するフローを対象としています。アップロードしたファイルやローカルのベクターストアには別途永続ストレージが必要です。これらの機能を使用する前に ファイルストレージ を参照してください。

前提条件

  • アプリホスティングと Managed Postgres を利用できる Lizard アカウント。
  • お使いのコンピューターに Node.js、npm、OpenSSL がインストールされていること。
  • Flowise のワークロードに十分なメモリ。テストサービスでは 4 GiB を使用します。

Lizard CLI をインストールし、ブラウザログインを完了します:

npm install -g @lizard-build/cli
lizard login

プロジェクトを作成する

mkdir flowise-on-lizard
cd flowise-on-lizard
lizard init --name flowise-on-lizard
lizard add postgres --name flowise-db
lizard add --service flowise

ワークスペースを選択する必要がある場合は、--workspace <workspace> と lizard init を使用します。データベースが実行中になるまで待ちます。

固定した Flowise バージョンをビルドする

以下の内容で Dockerfile を作成します。これは Flowise の Docker ビルドに従い、npm パッケージを 3.1.4 に固定します:

FROM node:24-alpine AS build
RUN apk add --no-cache git python3 py3-pip py3-setuptools make g++ build-base cairo-dev pango-dev
ENV PUPPETEER_SKIP_DOWNLOAD=true
RUN npm install -g flowise@3.1.4 --legacy-peer-deps
 
FROM node:24-alpine
RUN apk add --no-cache chromium git python3 py3-pip py3-setuptools make g++ build-base cairo-dev pango-dev curl
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
COPY --from=build /usr/local/lib/node_modules /usr/local/lib/node_modules
COPY --from=build /usr/local/bin /usr/local/bin
RUN chown -R node:node /usr/local/lib/node_modules /usr/local/bin
USER node
EXPOSE 3000
ENTRYPOINT ["flowise", "start"]

--legacy-peer-deps は、古いネイティブ SQLite 依存関係を含むオプションの peer 統合をインストールしないようにします。このレシピは PostgreSQL と API ベースのフローを対象としています。それらを必要とするノード向けの追加依存関係は、別途インストールしてテストしてください。

Dockerfile を明示的に選択します:

lizard service set flowise --set dockerfilePath=Dockerfile

PostgreSQL と暗号化を設定する

Flowise サービスでデータベース変数を参照します:

lizard secrets set \
  DATABASE_TYPE=postgres \
  DATABASE_HOST='${{flowise-db.PGHOST}}' \
  DATABASE_PORT='${{flowise-db.PGPORT}}' \
  DATABASE_USER='${{flowise-db.PGUSER}}' \
  DATABASE_PASSWORD='${{flowise-db.PGPASSWORD}}' \
  DATABASE_NAME='${{flowise-db.PGDATABASE}}' \
  --service flowise

シェルが参照を展開しないよう、シングルクォートはそのままにしてください。Lizard はサービスの起動時にそれらを解決します。

セットアップ時に次のシークレットを 1 度だけ生成します:

lizard secrets set \
  FLOWISE_SECRETKEY_OVERWRITE="$(openssl rand -hex 32)" \
  JWT_AUTH_TOKEN_SECRET="$(openssl rand -hex 32)" \
  JWT_REFRESH_TOKEN_SECRET="$(openssl rand -hex 32)" \
  EXPRESS_SESSION_SECRET="$(openssl rand -hex 32)" \
  TOKEN_HASH_SECRET="$(openssl rand -hex 32)" \
  SECURE_COOKIES=true \
  --service flowise

これらの値は安全な場所にコピーを保管してください。特に FLOWISE_SECRETKEY_OVERWRITE は保持してください。Flowise は、PostgreSQL にすでに保存されている認証情報を復号するために同じキーを必要とします。再起動、再デプロイ、アップグレードの際にシークレットを再生成しないでください。

デプロイしてアカウントを作成する

lizard up --service flowise --port 3000

最初のビルドでは Flowise とその依存関係をインストールするため、数分かかることがあります。デプロイで返された HTTPS URL を開き、URL を共有する前に最初の owner アカウントを作成してください。エディターにサインインします。

Flowise が生成するリンク用に公開 URL を設定します。例は実際の HTTPS URL に置き換えてください:

lizard secrets set APP_URL=https://YOUR-SERVICE.onlizard.com --service flowise

この変更によりサービスが再起動します。パスワードリセットや招待メールが必要な場合は、SMTP を別途設定してください。

永続性を確認する

フローを作成して保存します。テスト用の認証情報を追加し、その後 Flowise を再起動します:

lizard restart --service flowise

サービスが実行中になるまで待ち、再度サインインして、フローと認証情報が残っていることを確認します。認証情報を使用するフローを実行し、Flowise がそれを引き続き復号できることを確認してください。再デプロイ後も同じ確認を繰り返します:

lizard redeploy --service flowise

PostgreSQL と暗号化キーの両方をバックアップしてください。キーがないデータベースバックアップでは、保存済みの認証情報を復元できません。

ファイルストレージ

PostgreSQL は、Flowise が書き込むすべてのファイルを保存するわけではありません。このセットアップでは永続ファイルボリュームをマウントしないため、ローカルアップロード、ローカルベクターデータベース、ファイルログはコンテナが置き換えられると消える可能性があります。

アップロードやドキュメントワークフローを使用する前に、Flowise の ストレージ変数 を使用してプライベート S3 バケットを設定してください。STORAGE_TYPE=s3、S3_STORAGE_BUCKET_NAME、S3_STORAGE_ACCESS_KEY_ID、S3_STORAGE_SECRET_ACCESS_KEY、S3_STORAGE_REGION を設定します。S3 互換プロバイダーの場合は、S3_ENDPOINT_URL と S3_FORCE_PATH_STYLE=true も設定します。

Lizard の Managed Object Storage は、公開読み取りの default バケットを作成します。アクセス設定を先に変更せずに、そのバケットへ非公開の Flowise ドキュメントを保存しないでください。上記の PostgreSQL セットアップでは、ファイルストレージ、ローカルベクターストア、キューワーカーはプロビジョニングもテストも行いません。

トラブルシューティングとアップデート

lizard events --service flowise
lizard logs --build --service flowise
lizard logs --service flowise

初回デプロイで、イメージの pull 中にタイムアウトした場合は、lizard events を確認してください。コンテナの起動後に、lizard up --service flowise --port 3000 を再試行します。これまでにビルド成功が 1 度もないサービスでは、まだ lizard redeploy を使用できません。

アップデートする場合は、データベースをバックアップし、Flowise のリリースノートを読み、Dockerfile の npm バージョンを変更してから、lizard up で再度アップロードします。更新に依存する前に、新しいバージョンを確認し、永続性チェックを実行してください。