refactor(service): improve langfuse
- remove minio - adjust ENVs - autogenerate more stuff - formatting
This commit is contained in:
@@ -6,52 +6,48 @@
|
|||||||
|
|
||||||
x-app-env: &app-env
|
x-app-env: &app-env
|
||||||
- NEXTAUTH_URL=${SERVICE_FQDN_LANGFUSE}
|
- NEXTAUTH_URL=${SERVICE_FQDN_LANGFUSE}
|
||||||
- DATABASE_URL=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB:-langfuse}
|
- DATABASE_URL=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB:-langfuse-db}
|
||||||
- SALT=${SERVICE_PASSWORD_SALT}
|
- SALT=${SERVICE_PASSWORD_SALT}
|
||||||
- ENCRYPTION_KEY=${SERVICE_PASSWORD_64_LANGFUSE}
|
- ENCRYPTION_KEY=${SERVICE_PASSWORD_64_LANGFUSE}
|
||||||
- TELEMETRY_ENABLED=${TELEMETRY_ENABLED:-true}
|
- TELEMETRY_ENABLED=${TELEMETRY_ENABLED:-false}
|
||||||
- LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES=${LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES:-false}
|
- LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES=${LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES:-false}
|
||||||
- CLICKHOUSE_MIGRATION_URL=clickhouse://clickhouse:9000
|
- CLICKHOUSE_MIGRATION_URL=clickhouse://clickhouse:9000
|
||||||
- CLICKHOUSE_URL=http://clickhouse:8123
|
- CLICKHOUSE_URL=http://clickhouse:8123
|
||||||
- CLICKHOUSE_USER=clickhouse
|
- CLICKHOUSE_USER=${SERVICE_USER_CLICKHOUSE}
|
||||||
- CLICKHOUSE_PASSWORD=$SERVICE_PASSWORD_CLICKHOUSE
|
- CLICKHOUSE_PASSWORD=${SERVICE_PASSWORD_CLICKHOUSE}
|
||||||
- CLICKHOUSE_CLUSTER_ENABLED=false
|
- CLICKHOUSE_CLUSTER_ENABLED=false
|
||||||
- LANGFUSE_USE_AZURE_BLOB=false
|
- LANGFUSE_USE_AZURE_BLOB=${LANGFUSE_USE_AZURE_BLOB:-false}
|
||||||
- LANGFUSE_S3_EVENT_UPLOAD_BUCKET=langfuse
|
- LANGFUSE_S3_EVENT_UPLOAD_BUCKET=${LANGFUSE_S3_EVENT_UPLOAD_BUCKET:-langfuse}
|
||||||
- LANGFUSE_S3_EVENT_UPLOAD_REGION=auto
|
- LANGFUSE_S3_EVENT_UPLOAD_REGION=${LANGFUSE_S3_EVENT_UPLOAD_REGION:-auto}
|
||||||
- LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_ID=minio
|
- LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_ID=${LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_ID}
|
||||||
- LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY=$SERVICE_PASSWORD_MINIO
|
- LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY=${LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY}
|
||||||
- LANGFUSE_S3_EVENT_UPLOAD_ENDPOINT=http://minio:9000
|
- LANGFUSE_S3_EVENT_UPLOAD_ENDPOINT=${LANGFUSE_S3_EVENT_UPLOAD_ENDPOINT}
|
||||||
- LANGFUSE_S3_EVENT_UPLOAD_FORCE_PATH_STYLE=true
|
- LANGFUSE_S3_EVENT_UPLOAD_FORCE_PATH_STYLE=${LANGFUSE_S3_EVENT_UPLOAD_FORCE_PATH_STYLE:-true}
|
||||||
- LANGFUSE_S3_EVENT_UPLOAD_PREFIX=events/
|
- LANGFUSE_S3_EVENT_UPLOAD_PREFIX=${LANGFUSE_S3_EVENT_UPLOAD_PREFIX:-events/}
|
||||||
- LANGFUSE_S3_MEDIA_UPLOAD_BUCKET=langfuse
|
- LANGFUSE_S3_MEDIA_UPLOAD_BUCKET=${LANGFUSE_S3_MEDIA_UPLOAD_BUCKET:-langfuse}
|
||||||
- LANGFUSE_S3_MEDIA_UPLOAD_REGION=auto
|
- LANGFUSE_S3_MEDIA_UPLOAD_REGION=${LANGFUSE_S3_MEDIA_UPLOAD_REGION:-auto}
|
||||||
- LANGFUSE_S3_MEDIA_UPLOAD_ACCESS_KEY_ID=minio
|
- LANGFUSE_S3_MEDIA_UPLOAD_ACCESS_KEY_ID=${LANGFUSE_S3_MEDIA_UPLOAD_ACCESS_KEY_ID}
|
||||||
- LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY=$SERVICE_PASSWORD_MINIO
|
- LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY=${LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY}
|
||||||
- LANGFUSE_S3_MEDIA_UPLOAD_ENDPOINT=http://localhost:9090
|
- LANGFUSE_S3_MEDIA_UPLOAD_ENDPOINT=${LANGFUSE_S3_MEDIA_UPLOAD_ENDPOINT}
|
||||||
- LANGFUSE_S3_MEDIA_UPLOAD_FORCE_PATH_STYLE=true
|
- LANGFUSE_S3_MEDIA_UPLOAD_FORCE_PATH_STYLE=${LANGFUSE_S3_MEDIA_UPLOAD_FORCE_PATH_STYLE:-true}
|
||||||
- LANGFUSE_S3_MEDIA_UPLOAD_PREFIX=media/
|
- LANGFUSE_S3_MEDIA_UPLOAD_PREFIX=${LANGFUSE_S3_MEDIA_UPLOAD_PREFIX:-media/}
|
||||||
- LANGFUSE_S3_BATCH_EXPORT_ENABLED=false
|
- LANGFUSE_S3_BATCH_EXPORT_ENABLED=${LANGFUSE_S3_BATCH_EXPORT_ENABLED:-false}
|
||||||
- LANGFUSE_S3_BATCH_EXPORT_BUCKET=langfuse
|
- LANGFUSE_S3_BATCH_EXPORT_BUCKET=${LANGFUSE_S3_BATCH_EXPORT_BUCKET:-langfuse}
|
||||||
- LANGFUSE_S3_BATCH_EXPORT_PREFIX=exports/
|
- LANGFUSE_S3_BATCH_EXPORT_PREFIX=${LANGFUSE_S3_BATCH_EXPORT_PREFIX:-exports/}
|
||||||
- LANGFUSE_S3_BATCH_EXPORT_REGION=auto
|
- LANGFUSE_S3_BATCH_EXPORT_REGION=${LANGFUSE_S3_BATCH_EXPORT_REGION:-auto}
|
||||||
- LANGFUSE_S3_BATCH_EXPORT_ENDPOINT=http://minio:9000
|
- LANGFUSE_S3_BATCH_EXPORT_ENDPOINT=${LANGFUSE_S3_BATCH_EXPORT_ENDPOINT}
|
||||||
- LANGFUSE_S3_BATCH_EXPORT_EXTERNAL_ENDPOINT=http://localhost:9090
|
- LANGFUSE_S3_BATCH_EXPORT_EXTERNAL_ENDPOINT=${LANGFUSE_S3_BATCH_EXPORT_EXTERNAL_ENDPOINT}
|
||||||
- LANGFUSE_S3_BATCH_EXPORT_ACCESS_KEY_ID=minio
|
- LANGFUSE_S3_BATCH_EXPORT_ACCESS_KEY_ID=${LANGFUSE_S3_BATCH_EXPORT_ACCESS_KEY_ID}
|
||||||
- LANGFUSE_S3_BATCH_EXPORT_SECRET_ACCESS_KEY=$SERVICE_PASSWORD_MINIO
|
- LANGFUSE_S3_BATCH_EXPORT_SECRET_ACCESS_KEY=${LANGFUSE_S3_BATCH_EXPORT_SECRET_ACCESS_KEY}
|
||||||
- LANGFUSE_S3_BATCH_EXPORT_FORCE_PATH_STYLE=true
|
- LANGFUSE_S3_BATCH_EXPORT_FORCE_PATH_STYLE=${LANGFUSE_S3_BATCH_EXPORT_FORCE_PATH_STYLE:-true}
|
||||||
- LANGFUSE_INGESTION_QUEUE_DELAY_MS=1
|
- LANGFUSE_INGESTION_QUEUE_DELAY_MS=${LANGFUSE_INGESTION_QUEUE_DELAY_MS:-1}
|
||||||
- LANGFUSE_INGESTION_CLICKHOUSE_WRITE_INTERVAL_MS=1000
|
- LANGFUSE_INGESTION_CLICKHOUSE_WRITE_INTERVAL_MS=${LANGFUSE_INGESTION_CLICKHOUSE_WRITE_INTERVAL_MS:-1000}
|
||||||
- REDIS_HOST=redis
|
- REDIS_HOST=redis
|
||||||
- REDIS_PORT=6379
|
- REDIS_PORT=6379
|
||||||
- REDIS_AUTH=$SERVICE_PASSWORD_REDIS
|
- REDIS_AUTH=${SERVICE_PASSWORD_REDIS}
|
||||||
- REDIS_TLS_ENABLED=false
|
- EMAIL_FROM_ADDRESS=${EMAIL_FROM_ADDRESS:-admin@example.com}
|
||||||
- REDIS_TLS_CA=/certs/ca.crt
|
- SMTP_CONNECTION_URL=${SMTP_CONNECTION_URL:-}
|
||||||
- REDIS_TLS_CERT=/certs/redis.crt
|
- NEXTAUTH_SECRET=${SERVICE_BASE64_NEXTAUTHSECRET}
|
||||||
- REDIS_TLS_KEY=/certs/redis.key
|
|
||||||
- EMAIL_FROM_ADDRESS=
|
|
||||||
- SMTP_CONNECTION_URL=
|
|
||||||
- NEXTAUTH_SECRET=${SERVICE_BASE64_NEXTAUTHSECRET} #
|
|
||||||
- AUTH_DISABLE_SIGNUP=${AUTH_DISABLE_SIGNUP:-true}
|
- AUTH_DISABLE_SIGNUP=${AUTH_DISABLE_SIGNUP:-true}
|
||||||
- HOSTNAME=${HOSTNAME:-0.0.0.0}
|
- HOSTNAME=${HOSTNAME:-0.0.0.0}
|
||||||
- LANGFUSE_INIT_ORG_ID=${LANGFUSE_INIT_ORG_ID:-my-org}
|
- LANGFUSE_INIT_ORG_ID=${LANGFUSE_INIT_ORG_ID:-my-org}
|
||||||
@@ -59,18 +55,15 @@ x-app-env: &app-env
|
|||||||
- LANGFUSE_INIT_PROJECT_ID=${LANGFUSE_INIT_PROJECT_ID:-my-project}
|
- LANGFUSE_INIT_PROJECT_ID=${LANGFUSE_INIT_PROJECT_ID:-my-project}
|
||||||
- LANGFUSE_INIT_PROJECT_NAME=${LANGFUSE_INIT_PROJECT_NAME:-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_EMAIL=${LANGFUSE_INIT_USER_EMAIL:-admin@example.com}
|
||||||
- LANGFUSE_INIT_USER_NAME=${LANGFUSE_INIT_USER_NAME:-Admin}
|
- LANGFUSE_INIT_USER_NAME=${SERVICE_USER_LANGFUSE}
|
||||||
- LANGFUSE_INIT_USER_PASSWORD=${SERVICE_PASSWORD_LANGFUSE}
|
- LANGFUSE_INIT_USER_PASSWORD=${SERVICE_PASSWORD_LANGFUSE}
|
||||||
|
|
||||||
services:
|
services:
|
||||||
langfuse:
|
langfuse:
|
||||||
image: docker.io/langfuse/langfuse:3
|
image: langfuse/langfuse:3
|
||||||
restart: always
|
|
||||||
depends_on: &langfuse-depends-on
|
depends_on: &langfuse-depends-on
|
||||||
postgres:
|
postgres:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
minio:
|
|
||||||
condition: service_healthy
|
|
||||||
redis:
|
redis:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
clickhouse:
|
clickhouse:
|
||||||
@@ -88,19 +81,19 @@ services:
|
|||||||
interval: 5s
|
interval: 5s
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 3
|
retries: 3
|
||||||
|
|
||||||
langfuse-worker:
|
langfuse-worker:
|
||||||
image: langfuse/langfuse-worker:3
|
image: langfuse/langfuse-worker:3
|
||||||
restart: always
|
|
||||||
environment:
|
environment:
|
||||||
<<: *app-env
|
<<: *app-env
|
||||||
depends_on: *langfuse-depends-on
|
depends_on: *langfuse-depends-on
|
||||||
|
|
||||||
postgres:
|
postgres:
|
||||||
image: postgres:17-alpine
|
image: postgres:17-alpine
|
||||||
restart: always
|
|
||||||
environment:
|
environment:
|
||||||
- POSTGRES_DB=${POSTGRES_DB:-langfuse}
|
- POSTGRES_DB=${POSTGRES_DB:-langfuse-db}
|
||||||
- POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRES
|
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
|
||||||
- POSTGRES_USER=$SERVICE_USER_POSTGRES
|
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
|
||||||
volumes:
|
volumes:
|
||||||
- langfuse_postgres_data:/var/lib/postgresql/data
|
- langfuse_postgres_data:/var/lib/postgresql/data
|
||||||
healthcheck:
|
healthcheck:
|
||||||
@@ -110,10 +103,12 @@ services:
|
|||||||
interval: 5s
|
interval: 5s
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 10
|
retries: 10
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
image: redis:8
|
image: redis:8
|
||||||
restart: always
|
|
||||||
command: ["sh", "-c", "redis-server --requirepass \"$SERVICE_PASSWORD_REDIS\""]
|
command: ["sh", "-c", "redis-server --requirepass \"$SERVICE_PASSWORD_REDIS\""]
|
||||||
|
environment:
|
||||||
|
- REDIS_PASSWORD=${SERVICE_PASSWORD_REDIS}
|
||||||
volumes:
|
volumes:
|
||||||
- langfuse_redis_data:/data
|
- langfuse_redis_data:/data
|
||||||
healthcheck:
|
healthcheck:
|
||||||
@@ -121,32 +116,14 @@ services:
|
|||||||
interval: 3s
|
interval: 3s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 10
|
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:
|
clickhouse:
|
||||||
image: clickhouse/clickhouse-server:latest
|
image: clickhouse/clickhouse-server:latest
|
||||||
restart: always
|
|
||||||
user: "101:101"
|
user: "101:101"
|
||||||
environment:
|
environment:
|
||||||
- CLICKHOUSE_DB=default
|
- CLICKHOUSE_DB=${CLICKHOUSE_DB:-default}
|
||||||
- CLICKHOUSE_USER=clickhouse
|
- CLICKHOUSE_USER=${SERVICE_USER_CLICKHOUSE}
|
||||||
- CLICKHOUSE_PASSWORD=$SERVICE_PASSWORD_CLICKHOUSE
|
- CLICKHOUSE_PASSWORD=${SERVICE_PASSWORD_CLICKHOUSE}
|
||||||
volumes:
|
volumes:
|
||||||
- langfuse_clickhouse_data:/var/lib/clickhouse
|
- langfuse_clickhouse_data:/var/lib/clickhouse
|
||||||
- langfuse_clickhouse_logs:/var/log/clickhouse-server
|
- langfuse_clickhouse_logs:/var/log/clickhouse-server
|
||||||
@@ -155,4 +132,3 @@ services:
|
|||||||
interval: 5s
|
interval: 5s
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 10
|
retries: 10
|
||||||
start_period: 1s
|
|
||||||
|
|||||||
Reference in New Issue
Block a user