chore(service): update Langfuse template to v3 (#6301)

This commit is contained in:
Slawa Gladkov
2025-08-04 21:48:48 +02:00
committed by GitHub
parent af22514cad
commit c483f1bdd7
3 changed files with 136 additions and 24 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

9
public/svgs/langfuse.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -1,30 +1,83 @@
# documentation: https://langfuse.com/docs # documentation: https://langfuse.com/docs
# slogan: Langfuse is an open-source LLM engineering platform that helps teams collaboratively debug, analyze, and iterate on their LLM applications. # slogan: Langfuse is an open-source LLM engineering platform that helps teams collaboratively debug, analyze, and iterate on their LLM applications.
# tags: ai, qdrant, weaviate, langchain, openai, gpt, llm, lmops, langfuse, llmops, tracing, observation, metrics # tags: ai, qdrant, weaviate, langchain, openai, gpt, llm, lmops, langfuse, llmops, tracing, observation, metrics
# logo: svgs/langfuse.png # logo: svgs/langfuse.svg
# port: 3000 # port: 3000
x-app-env: &app-env
- NEXTAUTH_URL=${SERVICE_FQDN_LANGFUSE}
- DATABASE_URL=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB:-langfuse}
- SALT=${SERVICE_PASSWORD_SALT}
- ENCRYPTION_KEY=${SERVICE_PASSWORD_64_LANGFUSE}
- TELEMETRY_ENABLED=${TELEMETRY_ENABLED:-true}
- LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES=${LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES:-false}
- CLICKHOUSE_MIGRATION_URL=clickhouse://clickhouse:9000
- CLICKHOUSE_URL=http://clickhouse:8123
- CLICKHOUSE_USER=clickhouse
- CLICKHOUSE_PASSWORD=$SERVICE_PASSWORD_CLICKHOUSE
- CLICKHOUSE_CLUSTER_ENABLED=false
- LANGFUSE_USE_AZURE_BLOB=false
- LANGFUSE_S3_EVENT_UPLOAD_BUCKET=langfuse
- LANGFUSE_S3_EVENT_UPLOAD_REGION=auto
- LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_ID=minio
- LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY=$SERVICE_PASSWORD_MINIO
- LANGFUSE_S3_EVENT_UPLOAD_ENDPOINT=http://minio:9000
- LANGFUSE_S3_EVENT_UPLOAD_FORCE_PATH_STYLE=true
- LANGFUSE_S3_EVENT_UPLOAD_PREFIX=events/
- LANGFUSE_S3_MEDIA_UPLOAD_BUCKET=langfuse
- LANGFUSE_S3_MEDIA_UPLOAD_REGION=auto
- LANGFUSE_S3_MEDIA_UPLOAD_ACCESS_KEY_ID=minio
- LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY=$SERVICE_PASSWORD_MINIO
- LANGFUSE_S3_MEDIA_UPLOAD_ENDPOINT=http://localhost:9090
- LANGFUSE_S3_MEDIA_UPLOAD_FORCE_PATH_STYLE=true
- LANGFUSE_S3_MEDIA_UPLOAD_PREFIX=media/
- LANGFUSE_S3_BATCH_EXPORT_ENABLED=false
- LANGFUSE_S3_BATCH_EXPORT_BUCKET=langfuse
- LANGFUSE_S3_BATCH_EXPORT_PREFIX=exports/
- LANGFUSE_S3_BATCH_EXPORT_REGION=auto
- LANGFUSE_S3_BATCH_EXPORT_ENDPOINT=http://minio:9000
- LANGFUSE_S3_BATCH_EXPORT_EXTERNAL_ENDPOINT=http://localhost:9090
- LANGFUSE_S3_BATCH_EXPORT_ACCESS_KEY_ID=minio
- LANGFUSE_S3_BATCH_EXPORT_SECRET_ACCESS_KEY=$SERVICE_PASSWORD_MINIO
- LANGFUSE_S3_BATCH_EXPORT_FORCE_PATH_STYLE=true
- LANGFUSE_INGESTION_QUEUE_DELAY_MS=1
- LANGFUSE_INGESTION_CLICKHOUSE_WRITE_INTERVAL_MS=1000
- REDIS_HOST=redis
- REDIS_PORT=6379
- REDIS_AUTH=$SERVICE_PASSWORD_REDIS
- REDIS_TLS_ENABLED=false
- REDIS_TLS_CA=/certs/ca.crt
- REDIS_TLS_CERT=/certs/redis.crt
- REDIS_TLS_KEY=/certs/redis.key
- EMAIL_FROM_ADDRESS=
- SMTP_CONNECTION_URL=
- NEXTAUTH_SECRET=${SERVICE_BASE64_NEXTAUTHSECRET} #
- AUTH_DISABLE_SIGNUP=${AUTH_DISABLE_SIGNUP:-true}
- HOSTNAME=${HOSTNAME:-0.0.0.0}
- LANGFUSE_INIT_ORG_ID=${LANGFUSE_INIT_ORG_ID:-my-org}
- LANGFUSE_INIT_ORG_NAME=${LANGFUSE_INIT_ORG_NAME:-My Org}
- LANGFUSE_INIT_PROJECT_ID=${LANGFUSE_INIT_PROJECT_ID:-my-project}
- LANGFUSE_INIT_PROJECT_NAME=${LANGFUSE_INIT_PROJECT_NAME:-My Project}
- LANGFUSE_INIT_USER_EMAIL=${LANGFUSE_INIT_USER_EMAIL:-admin@example.com}
- LANGFUSE_INIT_USER_NAME=${LANGFUSE_INIT_USER_NAME:-Admin}
- LANGFUSE_INIT_USER_PASSWORD=${SERVICE_PASSWORD_LANGFUSE}
services: services:
langfuse: langfuse:
image: langfuse/langfuse:2 image: docker.io/langfuse/langfuse:3
restart: always
depends_on: &langfuse-depends-on
postgres:
condition: service_healthy
minio:
condition: service_healthy
redis:
condition: service_healthy
clickhouse:
condition: service_healthy
environment: environment:
- SERVICE_FQDN_LANGFUSE_3000 <<: *app-env
- DATABASE_URL=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB:-langfuse} SERVICE_FQDN_LANGFUSE_3000: ${SERVICE_FQDN_LANGFUSE_3000}
- DIRECT_URL=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB:-langfuse}
- SALT=$SERVICE_PASSWORD_SALT
- AUTH_DISABLE_SIGNUP=${AUTH_DISABLE_SIGNUP:-false}
- NEXTAUTH_URL=$SERVICE_FQDN_LANGFUSE_3000
- NEXTAUTH_SECRET=${SERVICE_BASE64_64_NEXTAUTHSECRET}
- TELEMETRY_ENABLED=${TELEMETRY_ENABLED:-false}
- LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES=${LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES:-false}
- HOSTNAME=${HOSTNAME:-0.0.0.0}
- LANGFUSE_INIT_USER_NAME=${LANGFUSE_INIT_USER_NAME:-Admin}
- LANGFUSE_INIT_USER_EMAIL=${LANGFUSE_INIT_USER_EMAIL:-admin@example.com}
- LANGFUSE_INIT_USER_PASSWORD=${SERVICE_PASSWORD_LANGFUSE}
- LANGFUSE_INIT_ORG_ID=${LANGFUSE_INIT_ORG_ID:-my-org}
- LANGFUSE_INIT_ORG_NAME=${LANGFUSE_INIT_ORG_NAME:-My Org}
- LANGFUSE_INIT_PROJECT_ID=${LANGFUSE_INIT_PROJECT_ID:-my-project}
- LANGFUSE_INIT_PROJECT_NAME=${LANGFUSE_INIT_PROJECT_NAME:-My Project}
healthcheck: healthcheck:
test: test:
- CMD - CMD
@@ -35,17 +88,21 @@ services:
interval: 5s interval: 5s
timeout: 5s timeout: 5s
retries: 3 retries: 3
depends_on: langfuse-worker:
postgres: image: langfuse/langfuse-worker:3
condition: service_healthy restart: always
environment:
<<: *app-env
depends_on: *langfuse-depends-on
postgres: postgres:
image: "postgres:16-alpine" image: postgres:17-alpine
restart: always
environment: environment:
- POSTGRES_DB=${POSTGRES_DB:-langfuse} - POSTGRES_DB=${POSTGRES_DB:-langfuse}
- POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRES - POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRES
- POSTGRES_USER=$SERVICE_USER_POSTGRES - POSTGRES_USER=$SERVICE_USER_POSTGRES
volumes: volumes:
- "pg-data:/var/lib/postgresql/data" - langfuse_postgres_data:/var/lib/postgresql/data
healthcheck: healthcheck:
test: test:
- CMD-SHELL - CMD-SHELL
@@ -53,3 +110,49 @@ services:
interval: 5s interval: 5s
timeout: 5s timeout: 5s
retries: 10 retries: 10
redis:
image: redis:8
restart: always
command: ["sh", "-c", "redis-server --requirepass \"$SERVICE_PASSWORD_REDIS\""]
volumes:
- langfuse_redis_data:/data
healthcheck:
test: ["CMD", "redis-cli", "-a", "$SERVICE_PASSWORD_REDIS", "PING"]
interval: 3s
timeout: 10s
retries: 10
minio:
image: minio/minio:latest
restart: always
entrypoint: sh
# create the 'langfuse' bucket before starting the service
command: -c 'mkdir -p /data/langfuse && minio server --address ":9000" --console-address ":9001" /data'
environment:
- MINIO_ROOT_USER=minio
- MINIO_ROOT_PASSWORD=$SERVICE_PASSWORD_MINIO
- MINIO_BROWSER=off
volumes:
- langfuse_minio_data:/data
healthcheck:
test: ["CMD", "mc", "ready", "local"]
interval: 1s
timeout: 5s
retries: 5
start_period: 1s
clickhouse:
image: clickhouse/clickhouse-server:latest
restart: always
user: "101:101"
environment:
- CLICKHOUSE_DB=default
- CLICKHOUSE_USER=clickhouse
- CLICKHOUSE_PASSWORD=$SERVICE_PASSWORD_CLICKHOUSE
volumes:
- langfuse_clickhouse_data:/var/lib/clickhouse
- langfuse_clickhouse_logs:/var/log/clickhouse-server
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:8123/ping || exit 1
interval: 5s
timeout: 5s
retries: 10
start_period: 1s