LangFuse 安装说明(Docker)

Langfuse Server 包括 API 和 Web UI,是开源的,可以使用 Docker 自托管。

详细的组件和架构图可以参考 CONTRIBUTING.md

官方文档:https://langfuse.com/docs/deployment/self-host

安装要求:Postgres 数据库

Langfuse 需要一个持久的 Postgres 数据库来存储其状态。您可以使用 AWS、Azure 或 GCP 上的托管服务,也可以自行托管。数据库准备就绪后,请将连接字符串放在手边。

部署应用程序

将应用程序容器部署到您的基础架构。您可以使用 AWS ECS、Azure 容器实例或 GCP Cloud Run 等托管服务,也可以自行托管。

  • 在容器启动期间,所有数据库迁移将自动应用。

拉取镜像

docker pull ghcr.io/langfuse/langfuse:2
# 最新版本
docker pull ghcr.io/langfuse/langfuse:latest

启动镜像

docker run --name langfuse \
-e DATABASE_URL=postgresql://<user>:<password>@<host>:<port>/<dbname> \
-e NEXTAUTH_URL=http://localhost:3000 \
-e NEXTAUTH_SECRET=mysecret \
-e SALT=mysalt \
-p 3000:3000 \
-a STDOUT \
ghcr.io/langfuse/langfuse:latest

配置环境变量

Langfuse 可以使用环境变量(.env.prod.example)。有些是强制性的,如下表所定义:

多变的必需/默认描述
DATABASE_URL必需的Postgres 数据库的连接字符串。DATABASE_URL您还可以使用DATABASE_HOST, DATABASE_USERNAME,DATABASE_PASSWORD来代替DATABASE_NAME
DIRECT_URLDATABASE_URL用于数据库迁移的 Postgres 数据库的连接字符串。如果您想使用不同的用户进行迁移或使用连接池,请使用此选项DATABASE_URL对于大型部署,请为数据库用户配置较长的超时,因为迁移可能需要一段时间才能完成。
SHADOW_DATABASE_URL如果您的数据库用户缺乏CREATE DATABASE权限,您必须创建影子数据库并配置“SHADOW_DATABASE_URL”。如果您使用云数据库,通常会出现这种情况。请参阅Prisma 文档(在新选项卡中打开)获取详细说明。
NEXTAUTH_URL必需的您的部署的 URL,例如https://yourdomain.comhttp://localhost:3000通过 OAUTH 成功进行身份验证所必需的。
NEXTAUTH_SECRET必需的用于验证登录会话 cookie,使用 生成至少具有 256 熵的秘密openssl rand -base64 32
SALT必需的用于对哈希 API 密钥加盐,使用 生成至少具有 256 熵的秘密openssl rand -base64 32
PORT3000服务器监听的端口。
HOSTNAMElocalhost在某些环境中,需要将其设置0.0.0.0为可从容器外部访问(例如 Google Cloud Run)。
NEXT_PUBLIC_SIGN_UP_DISABLEDfalse设置true为阻止所有新注册。只有现有用户可以登录。
AUTH_DOMAINS_WITH_SSO_ENFORCEMENT仅允许使用 SSO 登录的以逗号分隔的域列表。这些域禁用电子邮件/密码登录。例如domain1.com,domain2.com
AUTH_DISABLE_USERNAME_PASSWORDfalse设置true为禁用所有用户的电子邮件/密码签名。仅 OAuth/SSO 提供商可用于登录。
LANGFUSE_DEFAULT_PROJECT_ID为新用户配置可选的默认项目。当用户创建帐户时,他们将被自动添加到该项目中。
LANGFUSE_DEFAULT_PROJECT_ROLEVIEWER用户在默认项目中的角色(如果设置)。可能的值为ADMIN, MEMBER, VIEWER有关详细信息,请参阅项目角色
SMTP_CONNECTION_URL为事务电子邮件配置可选的 SMTP 服务器连接。
EMAIL_FROM_ADDRESS配置交易电子邮件的发件人地址。SMTP_CONNECTION_URL如果设置则为必填项。
S3_ENDPOINT, S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY, S3_BUCKET_NAME,S3_REGION可选的 S3 配置,可从 UI 进行大量导出。
DB_EXPORT_PAGE_SIZE1000用于流式导出到 S3 的可选页面大小,以避免内存问题。如果需要优化性能,可以调整页面大小。
作者:Jeebiz  创建时间:2024-03-20 13:13
最后编辑:Jeebiz  更新时间:2024-03-20 13:14