0

我想将 botpress 与 PostgreSQL 一起使用。

在https://hub.docker.com/r/botpress/server上找到

例子

docker run --detach \
           --name=botpress \
           --publish 3000:8080 \
           --volume botpress_data:/botpress/data \
           --env  PORT=8080 \ # Don't forget to adjust "--publish" then
           --env  BP_HOST=0.0.0.0 \ # all zeroes means listen to all interfaces
           --env  NODE_ENV=production \
           --env  PG_HOST=192.168.0.11 \
           --env  PG_PORT=5432 \
           --env  PG_USER=bp_user \
           --env  PG_PASSWORD=<********> \
           --env  PG_SSL=false \
           botpress/server:latest

在我的本地环境中,我在 Docker PostgreSQL 中运行

0d530862c5c3        postgres                      "docker-entrypoint.s…&quot;   6 weeks ago         Up 38 minutes              0.0.0.0:54320->5432/tcp             postgresql_inclouds

在这个数据库中,我创建了用户 botpress 和 DB botpress,并将所有权限授予 botpress 用户。

在此处输入图像描述

在我开始使用 docker botpress 之后

docker run --detach \
--name=botpres \
--net=inclouds_network \
--publish 3000:3000 \
--volume /opt/docker/botpress:/botpress/data \
--env BP_HOST=0.0.0.0 \
--env NODE_ENV=production \
--env PG_HOST=postgresql_inclouds \
--env PG_PORT=5432 \
--env PG_USER=botpress \
--env PG_PASSWORD=b0tpress \
--env PG_SSL=false \
botpress/server:v12_10_7

启动了带有 botpress 的 docker 容器

webGUI 正在工作

在此处输入图像描述

但是 botpress 使用 SQLite。

如何使它与 PostgreSQL 数据库一起工作?

4

1 回答 1

0

这些变量中的大部分都可以在配置文件 data/global/botpress.config.json 中设置。基础设施配置(如数据库、集群模式等)在配置文件中不可用,因为在加载配置之前需要它。

Botpress 支持 .env 文件。

您必须在“.env”文件中设置环境变量并使用新变量重新启动 Botpress 服务。

数据库=postgres

DATABASE_URL=postgres://login:password@host:port/database

例子:

DATABASE=postgres
DATABASE_URL=postgres://johnlogin:Password987@127.0.0.1:5432/botpressdb

“.env”文件必须与“bp”可执行文件位于同一目录中。

我通过没有 Docker 的 pm2 实用程序将 botpress 服务作为 node.js 启动。

我使用了命令:

pm2 reload 0 --update-env

您可以尝试在 docker run 命令中添加相同的环境变量。

毕竟,您可以在 Botpress 菜单“生产清单”中检查正确的设置

于 2020-12-02T08:26:24.717 回答