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