使用 Docker 部署 LobeHub
本文已经假定你了解了 LobeHub 的部署基本原理和流程,因此只包含核心环境变量配置的内容。如果你还不了解 LobeHub 的部署原理,请先查阅 使用服务端数据库部署 。 此外,针对国内的腾讯云储存桶用户,可查询配置腾讯云 COS 存储服务。
在 Linux 服务器上部署
以下是在 Linux 服务器上部署 LobeHub 的流程:
创建 Postgres 数据库实例
请按照你自己的诉求创建一个 Postgres 数据库实例,例如:
上述指令会创建一个名为 my-postgres,并且网络为 pg 的 PG 实例,其中 paradedb/paradedb:latest-pg17 是一个 Postgres 17 的镜像,且默认安装了 pgvector 和 pg_search 插件。
ParadeDB 镜像包含了 pgvector(向量搜索)和 pg_search(全文搜索)插件,是 LobeHub 实现 RAG 和知识库搜索的重要构件。
以上指令得到的 pg 实例并没有指定持久化存储位置,因此仅用于测试 / 演示,生产环境请自行配置持久化存储。
创建名为 lobehub.env 文件用于存放环境变量:
点击下方按钮生成所需密钥:
KEY_VAULTS_SECRET='点击按钮生成'AUTH_SECRET='点击按钮生成'点击下方按钮一键生成 JWKS_KEY(用于签名和验证 JWT):
JWKS_KEY='点击按钮生成'启动 lobehub docker 镜像
你可以使用下述指令检查日志:
docker logs -f lobehub如果你在容器中看到了以下日志,则说明已经启动成功:
在我们官方的 Docker 镜像中,会在启动镜像前自动执行数据库 schema 的 migration ,我们的官方镜像承诺「空数据库 -> 完整表」这一段自动建表的稳定性。因此我们建议你的数据库实例使用一个空表实例,进而省去手动维护表结构或者 migration 的麻烦。
在本地(Mac / Windows) 上使用
LobeHub 也支持直接在本地的 Mac/Windows 本地使用。
在此我们已假设你的本地有一个 5432 端口可用,账号为 postgres ,密码是 mysecretpassword 的 pg 实例,它在 localhost:5432 可用。
那么你需要执行的脚本指令为:
Docker 在 Windows 和 macOS 上走的是虚拟机方案,如果使用 localhost / 127.0.0.1
,将会走到自身容器的 localhost,此时请尝试用 host.docker.internal 替代 localhost