РуководстваЗапустите Flowise с PostgreSQL

Запуск Flowise с PostgreSQL

В этом руководстве разворачивается один сервис Flowise на Lizard, с PostgreSQL для хранения потоков, учетных записей и зашифрованных учетных данных. Он создает точную npm-версию и задает ключ шифрования в качестве секрета сервиса.

Базовая настройка охватывает потоки, использующие API. Загруженные файлы и локальные векторные хранилища требуют отдельного постоянного хранилища; см. Файловое хранилище перед использованием этих функций.

Предварительные требования

  • Учетная запись Lizard с доступом к хостингу приложений и Managed Postgres.
  • Node.js, npm и OpenSSL на вашем компьютере.
  • Достаточно памяти для вашей рабочей нагрузки Flowise; тестовый сервис использует 4 ГиБ.

Установите 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 со следующим содержимым. Это повторяет Docker-сборку Flowise и фиксирует 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. Эта конфигурация рассчитана на 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 разрешит их при запуске сервиса.

Сгенерируйте следующие секреты один раз при настройке:

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 для ссылок, которые генерирует Flowise, заменив пример на ваш реальный 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. В этой настройке не подключен постоянный том для файлов, поэтому локальные загрузки, локальные векторные базы и файловые журналы могут исчезнуть при замене контейнера.

Перед использованием загрузок или рабочих процессов с документами настройте частный S3-бакет, используя переменные хранилища Flowise. Задайте 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.

Managed Object Storage Lizard создает бакет default с публичным доступом на чтение. Не помещайте туда приватные документы Flowise, не изменив сначала настройку доступа. Настройка PostgreSQL выше не предоставляет и не тестирует файловое хранилище, локальные векторные хранилища или рабочие процессы очередей.

Устранение неполадок и обновления

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

Если первое развертывание завершается тайм-аутом, пока образ всё ещё скачивается, проверьте lizard events. После запуска контейнера повторите lizard up --service flowise --port 3000. Сервис без предыдущей успешной сборки еще не может использовать lizard redeploy.

Для обновлений сделайте резервную копию базы данных, изучите заметки к выпуску Flowise, измените версию npm в Dockerfile и загрузите его снова с помощью lizard up. Проверьте новую версию и выполните проверки сохранности перед тем, как полагаться на обновление.