环境变量

Langfuse (自托管) 通过环境变量提供了广泛的配置选项。这些选项需要传递给所有应用程序容器。

变量名 必需/默认 描述
DATABASE_URL 必需 Postgres 数据库的连接字符串。除了 DATABASE_URL, 您还可以使用 DATABASE_HOST、DATABASE_USERNAME、DATABASE_PASSWORD、DATABASE_NAME 和 DATABASE_ARGS。
DIRECT_URL DATABASE_URL Postgres 数据库用于数据库迁移的连接字符串。如果您想使用不同的用户进行迁移,或者在 DATABASE_URL 上使用连接池,请使用此字符串。对于大型部署,请将数据库用户配置为超时较长,因为迁移可能需要一段时间才能完成。
SHADOW_DATABASE_URL 如果数据库用户缺乏 CREATE DATABASE 权限,则必须创建影子数据库并配置 “SHADOW_DATABASE_URL”。如果使用云数据库,通常会出现这种情况。有关详细说明,请参阅 Prisma 文档。
CLICKHOUSE_MIGRATION_URL 必需 Clickhouse 实例的迁移 URL (TCP 协议)。模式:clickhouse://:(9000/9440)
CLICKHOUSE_MIGRATION_SSL false 设置为 true 以建立与 clickhouse 的 SSL 连接,用于数据库迁移。
CLICKHOUSE_URL 必需 Clickhouse 实例的 hostname。模式:http (s)://:(8123/8443)
CLICKHOUSE_USER 必需 Clickhouse 数据库的用户名。需要 SELECT、ALTER、INSERT、CREATE、DELETE 授权。
CLICKHOUSE_PASSWORD 必需 Clickhouse 用户的密码。
CLICKHOUSE_DB default 要使用的 ClickHouse 数据库名称。
CLICKHOUSE_CLUSTER_ENABLED true 是否在 CLUSTER 上运行 ClickHouse 命令。对于单容器设置,将其设置为 false。
LANGFUSE_AUTO_CLICKHOUSE_MIGRATION_DISABLED false 是否在启动时禁用 ClickHouse 自动迁移。
REDIS_CONNECTION_STRING 必需 您的 redis 实例的连接字符串。您也可以使用 REDIS_HOST、REDIS_PORT、REDIS_USERNAME 和 REDIS_AUTH 来代替 REDIS_CONNECTION_STRING。要配置 TLS, 请查看详细的缓存配置文档。
REDIS_CLUSTER_ENABLED false 设置为 true 以启用 Redis 集群模式。启用后,还必须提供 REDIS_CLUSTER_NODES。
REDIS_CLUSTER_NODES 以逗号分隔的 Redis 集群节点列表,格式为 host:port。当 REDIS_CLUSTER_ENABLED 为 true 时需要。例如:redis-node1:6379、redis-node2:6379、redis-node3:6379。
REDIS_AUTH Redis 实例或集群的身份验证字符串。
NEXTAUTH_URL 必需 您的 Langfuse Web 部署的 URL, 例如 https://yourdomain.comhttp://localhost:3000。需要通过 OAUTH 成功进行身份验证,并通过 Slack 集成发送有效链接。
NEXTAUTH_SECRET 必需 用于验证登录会话 cookie, 使用 openssl rand -base64 32 生成熵至少为 256 的 secret。
SALT 必需 用于盐化哈希 API 密钥,使用 openssl rand -base64 32 生成熵至少为 256 的 secret。
ENCRYPTION_KEY 必需 用于加密敏感数据。必须是 256 位,64 个十六进制格式的字符串,通过:openssl rand -hex 32 生成。
LANGFUSE_CSP_ENFORCE_HTTPS false 将 CSP 首部设置为 true, 以仅允许 HTTPS 连接。
PORT 3000 / 3030 服务器侦听的端口。Web 3000,Worker 3030。
HOSTNAME localhost 在某些环境中,需要将其设置为 0.0.0.0 才能从容器外部访问 (例如 Google Cloud Run)。
LANGFUSE_CACHE_API_KEY_ENABLED true 启用或禁用 API 密钥缓存。设置为 false 可禁用 API 密钥缓存。Redis 中从不存储纯文本密钥,只存储哈希或加密密钥。
LANGFUSE_CACHE_API_KEY_TTL_SECONDS 300 缓存 API 密钥的生存时间 (TTL)(以秒为单位)。确定 API 密钥在刷新之前在缓存中保留的时间。
LANGFUSE_CACHE_PROMPT_ENABLED true 启用或禁用提示缓存。设置为 false 可禁用提示缓存。
LANGFUSE_CACHE_PROMPT_TTL_SECONDS 300 缓存提示的生存时间 (TTL)(以秒为单位)。确定提示在刷新之前在缓存中保留的时间。
LANGFUSE_S3_EVENT_UPLOAD_BUCKET 必需 应该上传事件信息的存储桶的名称。
LANGFUSE_S3_EVENT_UPLOAD_PREFIX "" 用于在存储桶的子路径中存储事件的前缀。默认为存储桶根。如果提供,必须以 / 结尾。
LANGFUSE_S3_EVENT_UPLOAD_REGION Bucket 所在的区域。
LANGFUSE_S3_EVENT_UPLOAD_ENDPOINT 用于上传事件的端点。
LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_ID 存储桶的访问密钥。必须具有 List、Get 和 Put 权限。
LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY 存储桶的秘密访问密钥。
LANGFUSE_S3_EVENT_UPLOAD_FORCE_PATH_STYLE 是否在请求上强制使用路径样式。MinIO 所需。
LANGFUSE_S3_BATCH_EXPORT_ENABLED false 是否启用 Langfuse S3 批量导出。必须将其设置为 true 才能启用批量导出。
LANGFUSE_S3_BATCH_EXPORT_BUCKET 必需 应该上传批量导出的存储桶的名称。
LANGFUSE_S3_BATCH_EXPORT_PREFIX "" 将批量导出存储在存储桶的子路径中的前缀。默认为存储桶根。如果提供,必须以 / 结尾。
LANGFUSE_S3_BATCH_EXPORT_REGION Bucket 所在的区域。
LANGFUSE_S3_BATCH_EXPORT_ENDPOINT 用于上传批量导出的端点。
LANGFUSE_S3_BATCH_EXPORT_ACCESS_KEY_ID 存储桶的访问密钥。必须具有 List、Get 和 Put 权限。
LANGFUSE_S3_BATCH_EXPORT_SECRET_ACCESS_KEY 存储桶的秘密访问密钥。
LANGFUSE_S3_BATCH_EXPORT_FORCE_PATH_STYLE 是否在请求中强制使用路径样式。MinIO 所需。
LANGFUSE_S3_BATCH_EXPORT_EXTERNAL_ENDPOINT 用于生成预定义 URL 的可选外部端点。如果未提供,则使用主端点。有用的是,如果流向 blob 存储的流量延迟,则应保留在 VPC 内。
BATCH_EXPORT_PAGE_SIZE 500 流导出到 S3 的可选页面大小,以避免内存问题。如有必要,可以调整页面大小以优化性能。
BATCH_EXPORT_ROW_LIMIT 1_500_000 一次批量导出中可以导出的最大行数。
LANGFUSE_S3_MEDIA_UPLOAD_BUCKET 必需 应该上传媒体文件的存储桶的名称。
LANGFUSE_S3_MEDIA_UPLOAD_PREFIX "" 将媒体文件存储在存储桶子路径内的前缀。默认为存储桶根。如果提供,必须以 / 结尾。
LANGFUSE_S3_MEDIA_UPLOAD_REGION 存储桶所在的区域。
LANGFUSE_S3_MEDIA_UPLOAD_ENDPOINT 用于上传媒体文件的端点。
LANGFUSE_S3_MEDIA_UPLOAD_ACCESS_KEY_ID 存储桶的访问密钥。必须具有 List、Get 和 Put 权限。
LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY 存储桶的秘密访问密钥。
LANGFUSE_S3_MEDIA_UPLOAD_FORCE_PATH_STYLE 是否在请求上强制使用路径样式。对于 MinIO 是必需的。
LANGFUSE_S3_MEDIA_MAX_CONTENT_LENGTH 1_000_000_000 允许上传的最大文件大小 (以字节为单位)。默认值为 1GB。
LANGFUSE_S3_MEDIA_DOWNLOAD_URL_EXPIRY_SECONDS 3600 预定义的下载 URL 将在几秒钟内过期。默认值为 1 小时。
LANGFUSE_S3_CONCURRENT_WRITES 50 向 S3 的最大并发写入次数。对于类似 @smithy/node-http-handler:WARN-socket use at capacity=50 这样的错误很有用。
LANGFUSE_S3_CONCURRENT_READS 50 S3 的最大并发读取次数。对于类似 @smithy/node-http-handler:WARN-socket use at capacity=50 这样的错误很有用。
LANGFUSE_AUTO_POSTGRES_MIGRATION_DISABLED false 设置为 true 以禁用 docker 启动时的自动数据库迁移。不建议。
LANGFUSE_LOG_LEVEL info 设置应用程序的日志级别。可能的值包括跟踪、调试、信息、警告、错误和致命。
LANGFUSE_LOG_FORMAT text 设置应用程序的日志格式。可能的值为 text、json。
LANGFUSE_LOG_PROPAGATED_HEADERS 用逗号分隔的 HTTP 首部名称列表,用于通过 OpenTelemetry 包传播日志。首部名称不区分大小写,将规范化为小写。对调试和可观测性有用。例如:x-request-id,x-user-id。
作者:Jeebiz  创建时间:2025-10-30 17:31
最后编辑:Jeebiz  更新时间:2025-10-30 18:16