| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- services:
- langfuse-worker:
- image: langfuse/langfuse-worker:3
- ports:
- - 127.0.0.1:3030:3030
- environment: &langfuse-worker-env
- NEXTAUTH_URL: http://localhost:3000
- DATABASE_URL: postgresql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_DATABASE}
- SALT: ${SALT}
- ENCRYPTION_KEY: ${ENCRYPTION_KEY}
- TELEMETRY_ENABLED: ${TELEMETRY_ENABLED:-true}
- LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES: ${LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES:-true}
- CLICKHOUSE_MIGRATION_URL: ${CLICKHOUSE_MIGRATION_URL:-clickhouse://clickhouse:9000}
- CLICKHOUSE_URL: ${CLICKHOUSE_URL:-http://clickhouse:8123}
- CLICKHOUSE_USER: ${CLICKHOUSE_USER}
- CLICKHOUSE_PASSWORD: ${CLICKHOUSE_PASSWORD}
- CLICKHOUSE_CLUSTER_ENABLED: ${CLICKHOUSE_CLUSTER_ENABLED:-false}
- # LANGFUSE_USE_AZURE_BLOB: ${LANGFUSE_USE_AZURE_BLOB:-false}
- LANGFUSE_S3_EVENT_UPLOAD_BUCKET: ${AWS_BUCKET}
- LANGFUSE_S3_EVENT_UPLOAD_REGION: ${AWS_DEFAULT_REGION}
- LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
- LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
- LANGFUSE_S3_EVENT_UPLOAD_ENDPOINT: ${AWS_ENDPOINT}
- LANGFUSE_S3_EVENT_UPLOAD_FORCE_PATH_STYLE: ${AWS_USE_PATH_STYLE_ENDPOINT}
- LANGFUSE_S3_EVENT_UPLOAD_PREFIX: ${LANGFUSE_S3_EVENT_UPLOAD_PREFIX:-events/}
- LANGFUSE_S3_MEDIA_UPLOAD_BUCKET: ${AWS_BUCKET}
- LANGFUSE_S3_MEDIA_UPLOAD_REGION: ${AWS_DEFAULT_REGION}
- LANGFUSE_S3_MEDIA_UPLOAD_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
- LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
- LANGFUSE_S3_MEDIA_UPLOAD_ENDPOINT: ${AWS_URL}
- LANGFUSE_S3_MEDIA_UPLOAD_FORCE_PATH_STYLE: ${AWS_USE_PATH_STYLE_ENDPOINT}
- LANGFUSE_S3_MEDIA_UPLOAD_PREFIX: ${LANGFUSE_S3_MEDIA_UPLOAD_PREFIX:-media/}
- LANGFUSE_S3_BATCH_EXPORT_ENABLED: ${LANGFUSE_S3_BATCH_EXPORT_ENABLED:-false}
- LANGFUSE_S3_BATCH_EXPORT_BUCKET: ${AWS_BUCKET}
- LANGFUSE_S3_BATCH_EXPORT_PREFIX: ${LANGFUSE_S3_BATCH_EXPORT_PREFIX:-exports/}
- LANGFUSE_S3_BATCH_EXPORT_REGION: ${AWS_DEFAULT_REGION}
- LANGFUSE_S3_BATCH_EXPORT_ENDPOINT: ${AWS_ENDPOINT}
- LANGFUSE_S3_BATCH_EXPORT_EXTERNAL_ENDPOINT: ${AWS_URL}
- LANGFUSE_S3_BATCH_EXPORT_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
- LANGFUSE_S3_BATCH_EXPORT_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
- LANGFUSE_S3_BATCH_EXPORT_FORCE_PATH_STYLE: ${AWS_USE_PATH_STYLE_ENDPOINT}
- # LANGFUSE_INGESTION_QUEUE_DELAY_MS: ${LANGFUSE_INGESTION_QUEUE_DELAY_MS:-}
- # LANGFUSE_INGESTION_CLICKHOUSE_WRITE_INTERVAL_MS: ${LANGFUSE_INGESTION_CLICKHOUSE_WRITE_INTERVAL_MS:-}
- REDIS_HOST: ${REDIS_HOST:-redis}
- REDIS_PORT: ${REDIS_PORT:-6379}
- REDIS_AUTH: ${REDIS_PASSWORD}
- # REDIS_TLS_ENABLED: ${REDIS_TLS_ENABLED:-false}
- # REDIS_TLS_CA: ${REDIS_TLS_CA:-/certs/ca.crt}
- # REDIS_TLS_CERT: ${REDIS_TLS_CERT:-/certs/redis.crt}
- # REDIS_TLS_KEY: ${REDIS_TLS_KEY:-/certs/redis.key}
- # EMAIL_FROM_ADDRESS: ${EMAIL_FROM_ADDRESS:-}
- # SMTP_CONNECTION_URL: ${SMTP_CONNECTION_URL:-}
- depends_on: &langfuse-depends-on
- pgsql:
- condition: service_healthy
- minio:
- condition: service_healthy
- redis:
- condition: service_healthy
- clickhouse:
- condition: service_healthy
- langfuse:
- image: langfuse/langfuse:3
- depends_on: *langfuse-depends-on
- ports:
- - 3000:3000
- environment:
- <<: *langfuse-worker-env
- NEXTAUTH_URL: http://localhost:3000
- NEXTAUTH_SECRET: ${NEXTAUTH_SECRET}
- LANGFUSE_INIT_ORG_ID: ${LANGFUSE_INIT_ORG_ID:-}
- LANGFUSE_INIT_ORG_NAME: ${LANGFUSE_INIT_ORG_NAME:-}
- LANGFUSE_INIT_PROJECT_ID: ${LANGFUSE_INIT_PROJECT_ID:-}
- LANGFUSE_INIT_PROJECT_NAME: ${LANGFUSE_INIT_PROJECT_NAME:-}
- LANGFUSE_INIT_PROJECT_PUBLIC_KEY: ${LANGFUSE_INIT_PROJECT_PUBLIC_KEY:-}
- LANGFUSE_INIT_PROJECT_SECRET_KEY: ${LANGFUSE_INIT_PROJECT_SECRET_KEY:-}
- LANGFUSE_INIT_USER_EMAIL: ${LANGFUSE_INIT_USER_EMAIL:-}
- LANGFUSE_INIT_USER_NAME: ${LANGFUSE_INIT_USER_NAME:-}
- LANGFUSE_INIT_USER_PASSWORD: ${LANGFUSE_INIT_USER_PASSWORD:-}
- pgsql:
- image: postgres:16
- environment:
- POSTGRES_DB: ${DB_DATABASE}
- POSTGRES_USER: ${DB_USERNAME}
- POSTGRES_PASSWORD: ${DB_PASSWORD}
- volumes:
- - pg-data:/var/lib/postgresql/data:rw
- healthcheck:
- test: pg_isready -d ${DB_DATABASE} -U ${DB_USERNAME}
- interval: 15s
- timeout: 5s
- start_period: 2s
- redis:
- image: redis:7.2.3-alpine3.18
- command: >
- --requirepass ${REDIS_PASSWORD}
- volumes:
- - redis-data:/data:rw
- healthcheck:
- test: ["CMD", "redis-cli", "ping"]
- interval: 500ms
- timeout: 1s
- clickhouse:
- image: clickhouse/clickhouse-server
- restart: always
- user: "101:101"
- environment:
- CLICKHOUSE_DB: ${CLICKHOUSE_DB}
- CLICKHOUSE_USER: ${CLICKHOUSE_USER}
- CLICKHOUSE_PASSWORD: ${CLICKHOUSE_PASSWORD}
- volumes:
- - clickhouse-data:/var/lib/clickhouse
- - clickhouse-logs:/var/log/clickhouse-server
- # ports:
- # - 127.0.0.1:8123:8123
- # - 127.0.0.1:9000:9000
- healthcheck:
- test: wget --no-verbose --tries=1 --spider http://localhost:8123/ping || exit 1
- interval: 5s
- timeout: 5s
- retries: 10
- start_period: 1s
- minio:
- image: minio/minio
- entrypoint: sh
- command: -c 'mkdir -p /data/${AWS_BUCKET} && minio server --address ":9000" --console-address ":9001" /data'
- environment:
- MINIO_ROOT_USER: ${AWS_ACCESS_KEY_ID}
- MINIO_ROOT_PASSWORD: ${AWS_SECRET_ACCESS_KEY}
- volumes:
- - minio-data:/data
- ports:
- # - 9090:9000
- - 127.0.0.1:9091:9001
- healthcheck:
- test: ["CMD", "mc", "ready", "local"]
- interval: 1s
- timeout: 5s
- retries: 5
- start_period: 1s
- volumes:
- minio-data: {}
- pg-data: {}
- clickhouse-data: {}
- clickhouse-logs: {}
- redis-data: {}
|