{"owner":"volcengine","repo":"OpenViking","hasDocker":true,"hasCompose":true,"hasDockerfile":false,"composePath":"bot/deploy/docker/langfuse/docker-compose.yml","servicesCount":6,"services":[{"name":"langfuse-worker","image":"docker.io/langfuse/langfuse-worker:3","restart":"always","ports":["127.0.0.1:3030:3030"],"environment":["NEXTAUTH_URL=${NEXTAUTH_URL:-http://localhost:3000}","DATABASE_URL=${DATABASE_URL:-postgresql://postgres:postgres@postgres:5432/postgres}","SALT=${SALT:-vikingbot-salt-2026}","ENCRYPTION_KEY=${ENCRYPTION_KEY:-0000000000000000000000000000000000000000000000000000000000000000}","TELEMETRY_ENABLED=${TELEMETRY_ENABLED:-false}","LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES=${LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES:-false}","CLICKHOUSE_MIGRATION_URL=${CLICKHOUSE_MIGRATION_URL:-clickhouse://clickhouse:9000}","CLICKHOUSE_URL=${CLICKHOUSE_URL:-http://clickhouse:8123}","CLICKHOUSE_USER=${CLICKHOUSE_USER:-clickhouse}","CLICKHOUSE_PASSWORD=${CLICKHOUSE_PASSWORD:-clickhouse}","CLICKHOUSE_CLUSTER_ENABLED=${CLICKHOUSE_CLUSTER_ENABLED:-false}","LANGFUSE_USE_AZURE_BLOB=${LANGFUSE_USE_AZURE_BLOB:-false}","LANGFUSE_S3_EVENT_UPLOAD_BUCKET=${LANGFUSE_S3_EVENT_UPLOAD_BUCKET:-langfuse}","LANGFUSE_S3_EVENT_UPLOAD_REGION=${LANGFUSE_S3_EVENT_UPLOAD_REGION:-auto}","LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_ID=${LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_ID:-minio}","LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY=${LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY:-miniosecret}","LANGFUSE_S3_EVENT_UPLOAD_ENDPOINT=${LANGFUSE_S3_EVENT_UPLOAD_ENDPOINT:-http://minio:9000}","LANGFUSE_S3_EVENT_UPLOAD_FORCE_PATH_STYLE=${LANGFUSE_S3_EVENT_UPLOAD_FORCE_PATH_STYLE:-true}","LANGFUSE_S3_EVENT_UPLOAD_PREFIX=${LANGFUSE_S3_EVENT_UPLOAD_PREFIX:-events/}","LANGFUSE_S3_MEDIA_UPLOAD_BUCKET=${LANGFUSE_S3_MEDIA_UPLOAD_BUCKET:-langfuse}","LANGFUSE_S3_MEDIA_UPLOAD_REGION=${LANGFUSE_S3_MEDIA_UPLOAD_REGION:-auto}","LANGFUSE_S3_MEDIA_UPLOAD_ACCESS_KEY_ID=${LANGFUSE_S3_MEDIA_UPLOAD_ACCESS_KEY_ID:-minio}","LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY=${LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY:-miniosecret}","LANGFUSE_S3_MEDIA_UPLOAD_ENDPOINT=${LANGFUSE_S3_MEDIA_UPLOAD_ENDPOINT:-http://localhost:9090}","LANGFUSE_S3_MEDIA_UPLOAD_FORCE_PATH_STYLE=${LANGFUSE_S3_MEDIA_UPLOAD_FORCE_PATH_STYLE:-true}","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=${LANGFUSE_S3_BATCH_EXPORT_BUCKET:-langfuse}","LANGFUSE_S3_BATCH_EXPORT_PREFIX=${LANGFUSE_S3_BATCH_EXPORT_PREFIX:-exports/}","LANGFUSE_S3_BATCH_EXPORT_REGION=${LANGFUSE_S3_BATCH_EXPORT_REGION:-auto}","LANGFUSE_S3_BATCH_EXPORT_ENDPOINT=${LANGFUSE_S3_BATCH_EXPORT_ENDPOINT:-http://minio:9000}","LANGFUSE_S3_BATCH_EXPORT_EXTERNAL_ENDPOINT=${LANGFUSE_S3_BATCH_EXPORT_EXTERNAL_ENDPOINT:-http://localhost:9090}","LANGFUSE_S3_BATCH_EXPORT_ACCESS_KEY_ID=${LANGFUSE_S3_BATCH_EXPORT_ACCESS_KEY_ID:-minio}","LANGFUSE_S3_BATCH_EXPORT_SECRET_ACCESS_KEY=${LANGFUSE_S3_BATCH_EXPORT_SECRET_ACCESS_KEY:-miniosecret}","LANGFUSE_S3_BATCH_EXPORT_FORCE_PATH_STYLE=${LANGFUSE_S3_BATCH_EXPORT_FORCE_PATH_STYLE:-true}","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_AUTH:-vikingbot-redis-secret}","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":["postgres","minio","redis","clickhouse"]},{"name":"langfuse-web","image":"docker.io/langfuse/langfuse:3","restart":"always","ports":["3000:3000"],"environment":["NEXTAUTH_URL=${NEXTAUTH_URL:-http://localhost:3000}","DATABASE_URL=${DATABASE_URL:-postgresql://postgres:postgres@postgres:5432/postgres}","SALT=${SALT:-vikingbot-salt-2026}","ENCRYPTION_KEY=${ENCRYPTION_KEY:-0000000000000000000000000000000000000000000000000000000000000000}","TELEMETRY_ENABLED=${TELEMETRY_ENABLED:-false}","LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES=${LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES:-false}","CLICKHOUSE_MIGRATION_URL=${CLICKHOUSE_MIGRATION_URL:-clickhouse://clickhouse:9000}","CLICKHOUSE_URL=${CLICKHOUSE_URL:-http://clickhouse:8123}","CLICKHOUSE_USER=${CLICKHOUSE_USER:-clickhouse}","CLICKHOUSE_PASSWORD=${CLICKHOUSE_PASSWORD:-clickhouse}","CLICKHOUSE_CLUSTER_ENABLED=${CLICKHOUSE_CLUSTER_ENABLED:-false}","LANGFUSE_USE_AZURE_BLOB=${LANGFUSE_USE_AZURE_BLOB:-false}","LANGFUSE_S3_EVENT_UPLOAD_BUCKET=${LANGFUSE_S3_EVENT_UPLOAD_BUCKET:-langfuse}","LANGFUSE_S3_EVENT_UPLOAD_REGION=${LANGFUSE_S3_EVENT_UPLOAD_REGION:-auto}","LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_ID=${LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_ID:-minio}","LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY=${LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY:-miniosecret}","LANGFUSE_S3_EVENT_UPLOAD_ENDPOINT=${LANGFUSE_S3_EVENT_UPLOAD_ENDPOINT:-http://minio:9000}","LANGFUSE_S3_EVENT_UPLOAD_FORCE_PATH_STYLE=${LANGFUSE_S3_EVENT_UPLOAD_FORCE_PATH_STYLE:-true}","LANGFUSE_S3_EVENT_UPLOAD_PREFIX=${LANGFUSE_S3_EVENT_UPLOAD_PREFIX:-events/}","LANGFUSE_S3_MEDIA_UPLOAD_BUCKET=${LANGFUSE_S3_MEDIA_UPLOAD_BUCKET:-langfuse}","LANGFUSE_S3_MEDIA_UPLOAD_REGION=${LANGFUSE_S3_MEDIA_UPLOAD_REGION:-auto}","LANGFUSE_S3_MEDIA_UPLOAD_ACCESS_KEY_ID=${LANGFUSE_S3_MEDIA_UPLOAD_ACCESS_KEY_ID:-minio}","LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY=${LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY:-miniosecret}","LANGFUSE_S3_MEDIA_UPLOAD_ENDPOINT=${LANGFUSE_S3_MEDIA_UPLOAD_ENDPOINT:-http://localhost:9090}","LANGFUSE_S3_MEDIA_UPLOAD_FORCE_PATH_STYLE=${LANGFUSE_S3_MEDIA_UPLOAD_FORCE_PATH_STYLE:-true}","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=${LANGFUSE_S3_BATCH_EXPORT_BUCKET:-langfuse}","LANGFUSE_S3_BATCH_EXPORT_PREFIX=${LANGFUSE_S3_BATCH_EXPORT_PREFIX:-exports/}","LANGFUSE_S3_BATCH_EXPORT_REGION=${LANGFUSE_S3_BATCH_EXPORT_REGION:-auto}","LANGFUSE_S3_BATCH_EXPORT_ENDPOINT=${LANGFUSE_S3_BATCH_EXPORT_ENDPOINT:-http://minio:9000}","LANGFUSE_S3_BATCH_EXPORT_EXTERNAL_ENDPOINT=${LANGFUSE_S3_BATCH_EXPORT_EXTERNAL_ENDPOINT:-http://localhost:9090}","LANGFUSE_S3_BATCH_EXPORT_ACCESS_KEY_ID=${LANGFUSE_S3_BATCH_EXPORT_ACCESS_KEY_ID:-minio}","LANGFUSE_S3_BATCH_EXPORT_SECRET_ACCESS_KEY=${LANGFUSE_S3_BATCH_EXPORT_SECRET_ACCESS_KEY:-miniosecret}","LANGFUSE_S3_BATCH_EXPORT_FORCE_PATH_STYLE=${LANGFUSE_S3_BATCH_EXPORT_FORCE_PATH_STYLE:-true}","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_AUTH:-vikingbot-redis-secret}","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:-}","NEXTAUTH_SECRET=${NEXTAUTH_SECRET:-vikingbot-nextauth-secret-2026}","LANGFUSE_INIT_ORG_ID=${LANGFUSE_INIT_ORG_ID:-vikingbot-org}","LANGFUSE_INIT_ORG_NAME=${LANGFUSE_INIT_ORG_NAME:-Vikingbot Org}","LANGFUSE_INIT_PROJECT_ID=${LANGFUSE_INIT_PROJECT_ID:-vikingbot-project}","LANGFUSE_INIT_PROJECT_NAME=${LANGFUSE_INIT_PROJECT_NAME:-Vikingbot Project}","LANGFUSE_INIT_PROJECT_PUBLIC_KEY=${LANGFUSE_INIT_PROJECT_PUBLIC_KEY:-pk-lf-vikingbot-public-key-2026}","LANGFUSE_INIT_PROJECT_SECRET_KEY=${LANGFUSE_INIT_PROJECT_SECRET_KEY:-sk-lf-vikingbot-secret-key-2026}","LANGFUSE_INIT_USER_EMAIL=${LANGFUSE_INIT_USER_EMAIL:-admin@vikingbot.local}","LANGFUSE_INIT_USER_NAME=${LANGFUSE_INIT_USER_NAME:-Vikingbot Admin}","LANGFUSE_INIT_USER_PASSWORD=${LANGFUSE_INIT_USER_PASSWORD:-vikingbot-admin-password-2026}"],"depends_on":["postgres","minio","redis","clickhouse"]},{"name":"clickhouse","image":"docker.io/clickhouse/clickhouse-server","restart":"always","ports":["127.0.0.1:8123:8123","127.0.0.1:9000:9000"],"environment":["CLICKHOUSE_DB=default","CLICKHOUSE_USER=${CLICKHOUSE_USER:-clickhouse}","CLICKHOUSE_PASSWORD=${CLICKHOUSE_PASSWORD:-clickhouse}"],"volumes":["langfuse_clickhouse_data:/var/lib/clickhouse","langfuse_clickhouse_logs:/var/log/clickhouse-server"]},{"name":"minio","image":"cgr.dev/chainguard/minio","restart":"always","command":"-c 'mkdir -p /data/langfuse && minio server --address \":9000\" --console-address \":9001\" /data'","ports":["9090:9000","127.0.0.1:9091:9001"],"environment":["MINIO_ROOT_USER=${MINIO_ROOT_USER:-minio}","MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD:-miniosecret}"],"volumes":["langfuse_minio_data:/data"]},{"name":"redis","image":"docker.io/redis:7","restart":"always","command":"--requirepass ${REDIS_AUTH:-vikingbot-redis-secret} --maxmemory-policy noeviction\n","ports":["127.0.0.1:6379:6379"],"volumes":["langfuse_redis_data:/data"]},{"name":"postgres","image":"docker.io/postgres:${POSTGRES_VERSION:-17}","restart":"always","ports":["127.0.0.1:5432:5432"],"environment":["POSTGRES_USER=${POSTGRES_USER:-postgres}","POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-postgres}","POSTGRES_DB=${POSTGRES_DB:-postgres}","TZ=UTC","PGTZ=UTC"],"volumes":["langfuse_postgres_data:/var/lib/postgresql/data"]}],"exposedPorts":["3030","3000","8123","9000","9090","9091","6379","5432"],"dockerRunCommand":"docker run -d --name openviking -p 3030:3030 --restart always docker.io/langfuse/langfuse-worker:3","podmanRunCommand":"podman run -d --name openviking -p 3030:3030 --restart always docker.io/langfuse/langfuse-worker:3","skopeoInspectCommand":"skopeo inspect docker://docker.io/docker.io/langfuse/langfuse-worker:3","orasPullCommand":"oras pull docker.io/langfuse/langfuse-worker:3","registryMeta":{"provider":"dockerhub","image":"docker.io/langfuse/langfuse-worker","canonicalImage":"docker.io/docker.io/langfuse/langfuse-worker:3","latestTag":"3","cliCommands":{"dockerRun":"docker run -d --name openviking -p 3030:3030 --restart always docker.io/langfuse/langfuse-worker:3","dockerPull":"docker pull docker.io/langfuse/langfuse-worker:3","podmanRun":"podman run -d --name openviking -p 3030:3030 --restart always docker.io/langfuse/langfuse-worker:3","skopeoInspect":"skopeo inspect docker://docker.io/docker.io/langfuse/langfuse-worker:3","orasPull":"oras pull docker.io/langfuse/langfuse-worker:3","composeYaml":"services:\n  openviking:\n    image: docker.io/langfuse/langfuse-worker:3\n    restart: unless-stopped\n    ports:\n      - \"3030:3030\""}}}