Skip to content

Commit 76bfbed

Browse files
committed
Fix 3 failing MCP tests: skipped_steps nil, explicit policy handling, workspace root validation
1 parent b5a0798 commit 76bfbed

12 files changed

Lines changed: 786 additions & 334 deletions

docker-compose.langfuse.yaml

Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
# Make sure to update the credential placeholders with your own secrets.
2+
# We mark them with # CHANGEME in the file below.
3+
# In addition, we recommend to restrict inbound traffic on the host to langfuse-web (port 3000) and minio (port 9090) only.
4+
# All other components are bound to localhost (127.0.0.1) to only accept connections from the local machine.
5+
# External connections from other machines will not be able to reach these services directly.
6+
services:
7+
langfuse-worker:
8+
image: docker.io/langfuse/langfuse-worker:3
9+
restart: always
10+
depends_on: &langfuse-depends-on
11+
postgres:
12+
condition: service_healthy
13+
minio:
14+
condition: service_healthy
15+
redis:
16+
condition: service_healthy
17+
clickhouse:
18+
condition: service_healthy
19+
ports:
20+
- 127.0.0.1:3030:3030
21+
environment: &langfuse-worker-env
22+
NEXTAUTH_URL: ${NEXTAUTH_URL:-http://localhost:3000}
23+
DATABASE_URL: ${DATABASE_URL:-postgresql://postgres:postgres@postgres:5432/postgres} # CHANGEME
24+
SALT: ${SALT:-mysalt} # CHANGEME
25+
ENCRYPTION_KEY: ${ENCRYPTION_KEY:-0000000000000000000000000000000000000000000000000000000000000000} # CHANGEME: generate via `openssl rand -hex 32`
26+
TELEMETRY_ENABLED: ${TELEMETRY_ENABLED:-true}
27+
LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES: ${LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES:-false}
28+
CLICKHOUSE_MIGRATION_URL: ${CLICKHOUSE_MIGRATION_URL:-clickhouse://clickhouse:9000}
29+
CLICKHOUSE_URL: ${CLICKHOUSE_URL:-http://clickhouse:8123}
30+
CLICKHOUSE_USER: ${CLICKHOUSE_USER:-clickhouse}
31+
CLICKHOUSE_PASSWORD: ${CLICKHOUSE_PASSWORD:-clickhouse} # CHANGEME
32+
CLICKHOUSE_CLUSTER_ENABLED: ${CLICKHOUSE_CLUSTER_ENABLED:-false}
33+
LANGFUSE_USE_AZURE_BLOB: ${LANGFUSE_USE_AZURE_BLOB:-false}
34+
LANGFUSE_USE_OCI_NATIVE_OBJECT_STORAGE: ${LANGFUSE_USE_OCI_NATIVE_OBJECT_STORAGE:-false}
35+
LANGFUSE_OCI_AUTH_TYPE: ${LANGFUSE_OCI_AUTH_TYPE:-workload_identity}
36+
LANGFUSE_S3_EVENT_UPLOAD_BUCKET: ${LANGFUSE_S3_EVENT_UPLOAD_BUCKET:-langfuse}
37+
LANGFUSE_S3_EVENT_UPLOAD_REGION: ${LANGFUSE_S3_EVENT_UPLOAD_REGION:-auto}
38+
LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_ID: ${LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_ID:-minio}
39+
LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY: ${LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY:-miniosecret} # CHANGEME
40+
LANGFUSE_S3_EVENT_UPLOAD_ENDPOINT: ${LANGFUSE_S3_EVENT_UPLOAD_ENDPOINT:-http://minio:9000}
41+
LANGFUSE_S3_EVENT_UPLOAD_FORCE_PATH_STYLE: ${LANGFUSE_S3_EVENT_UPLOAD_FORCE_PATH_STYLE:-true}
42+
LANGFUSE_S3_EVENT_UPLOAD_PREFIX: ${LANGFUSE_S3_EVENT_UPLOAD_PREFIX:-events/}
43+
LANGFUSE_S3_MEDIA_UPLOAD_BUCKET: ${LANGFUSE_S3_MEDIA_UPLOAD_BUCKET:-langfuse}
44+
LANGFUSE_S3_MEDIA_UPLOAD_REGION: ${LANGFUSE_S3_MEDIA_UPLOAD_REGION:-auto}
45+
LANGFUSE_S3_MEDIA_UPLOAD_ACCESS_KEY_ID: ${LANGFUSE_S3_MEDIA_UPLOAD_ACCESS_KEY_ID:-minio}
46+
LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY: ${LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY:-miniosecret} # CHANGEME
47+
LANGFUSE_S3_MEDIA_UPLOAD_ENDPOINT: ${LANGFUSE_S3_MEDIA_UPLOAD_ENDPOINT:-http://localhost:9090}
48+
LANGFUSE_S3_MEDIA_UPLOAD_FORCE_PATH_STYLE: ${LANGFUSE_S3_MEDIA_UPLOAD_FORCE_PATH_STYLE:-true}
49+
LANGFUSE_S3_MEDIA_UPLOAD_PREFIX: ${LANGFUSE_S3_MEDIA_UPLOAD_PREFIX:-media/}
50+
LANGFUSE_S3_BATCH_EXPORT_ENABLED: ${LANGFUSE_S3_BATCH_EXPORT_ENABLED:-false}
51+
LANGFUSE_S3_BATCH_EXPORT_BUCKET: ${LANGFUSE_S3_BATCH_EXPORT_BUCKET:-langfuse}
52+
LANGFUSE_S3_BATCH_EXPORT_PREFIX: ${LANGFUSE_S3_BATCH_EXPORT_PREFIX:-exports/}
53+
LANGFUSE_S3_BATCH_EXPORT_REGION: ${LANGFUSE_S3_BATCH_EXPORT_REGION:-auto}
54+
LANGFUSE_S3_BATCH_EXPORT_ENDPOINT: ${LANGFUSE_S3_BATCH_EXPORT_ENDPOINT:-http://minio:9000}
55+
LANGFUSE_S3_BATCH_EXPORT_EXTERNAL_ENDPOINT: ${LANGFUSE_S3_BATCH_EXPORT_EXTERNAL_ENDPOINT:-http://localhost:9090}
56+
LANGFUSE_S3_BATCH_EXPORT_ACCESS_KEY_ID: ${LANGFUSE_S3_BATCH_EXPORT_ACCESS_KEY_ID:-minio}
57+
LANGFUSE_S3_BATCH_EXPORT_SECRET_ACCESS_KEY: ${LANGFUSE_S3_BATCH_EXPORT_SECRET_ACCESS_KEY:-miniosecret} # CHANGEME
58+
LANGFUSE_S3_BATCH_EXPORT_FORCE_PATH_STYLE: ${LANGFUSE_S3_BATCH_EXPORT_FORCE_PATH_STYLE:-true}
59+
LANGFUSE_INGESTION_QUEUE_DELAY_MS: ${LANGFUSE_INGESTION_QUEUE_DELAY_MS:-}
60+
LANGFUSE_INGESTION_CLICKHOUSE_WRITE_INTERVAL_MS: ${LANGFUSE_INGESTION_CLICKHOUSE_WRITE_INTERVAL_MS:-}
61+
REDIS_HOST: ${REDIS_HOST:-redis}
62+
REDIS_PORT: ${REDIS_PORT:-6379}
63+
REDIS_AUTH: ${REDIS_AUTH:-myredissecret} # CHANGEME
64+
REDIS_TLS_ENABLED: ${REDIS_TLS_ENABLED:-false}
65+
REDIS_TLS_CA: ${REDIS_TLS_CA:-/certs/ca.crt}
66+
REDIS_TLS_CERT: ${REDIS_TLS_CERT:-/certs/redis.crt}
67+
REDIS_TLS_KEY: ${REDIS_TLS_KEY:-/certs/redis.key}
68+
EMAIL_FROM_ADDRESS: ${EMAIL_FROM_ADDRESS:-}
69+
SMTP_CONNECTION_URL: ${SMTP_CONNECTION_URL:-}
70+
71+
langfuse-web:
72+
image: docker.io/langfuse/langfuse:3
73+
restart: always
74+
depends_on: *langfuse-depends-on
75+
ports:
76+
- 3000:3000
77+
environment:
78+
<<: *langfuse-worker-env
79+
NEXTAUTH_SECRET: ${NEXTAUTH_SECRET:-mysecret} # CHANGEME
80+
LANGFUSE_INIT_ORG_ID: ${LANGFUSE_INIT_ORG_ID:-}
81+
LANGFUSE_INIT_ORG_NAME: ${LANGFUSE_INIT_ORG_NAME:-}
82+
LANGFUSE_INIT_PROJECT_ID: ${LANGFUSE_INIT_PROJECT_ID:-}
83+
LANGFUSE_INIT_PROJECT_NAME: ${LANGFUSE_INIT_PROJECT_NAME:-}
84+
LANGFUSE_INIT_PROJECT_PUBLIC_KEY: ${LANGFUSE_INIT_PROJECT_PUBLIC_KEY:-}
85+
LANGFUSE_INIT_PROJECT_SECRET_KEY: ${LANGFUSE_INIT_PROJECT_SECRET_KEY:-}
86+
LANGFUSE_INIT_USER_EMAIL: ${LANGFUSE_INIT_USER_EMAIL:-}
87+
LANGFUSE_INIT_USER_NAME: ${LANGFUSE_INIT_USER_NAME:-}
88+
LANGFUSE_INIT_USER_PASSWORD: ${LANGFUSE_INIT_USER_PASSWORD:-}
89+
90+
clickhouse:
91+
image: docker.io/clickhouse/clickhouse-server
92+
restart: always
93+
user: "101:101"
94+
environment:
95+
CLICKHOUSE_DB: default
96+
CLICKHOUSE_USER: ${CLICKHOUSE_USER:-clickhouse}
97+
CLICKHOUSE_PASSWORD: ${CLICKHOUSE_PASSWORD:-clickhouse} # CHANGEME
98+
volumes:
99+
- langfuse_clickhouse_data:/var/lib/clickhouse
100+
- langfuse_clickhouse_logs:/var/log/clickhouse-server
101+
ports:
102+
- 127.0.0.1:8123:8123
103+
- 127.0.0.1:9000:9000
104+
healthcheck:
105+
test: wget --no-verbose --tries=1 --spider http://localhost:8123/ping || exit 1
106+
interval: 5s
107+
timeout: 5s
108+
retries: 10
109+
start_period: 1s
110+
111+
minio:
112+
image: cgr.dev/chainguard/minio
113+
restart: always
114+
entrypoint: sh
115+
# create the 'langfuse' bucket before starting the service
116+
command: -c 'mkdir -p /data/langfuse && minio server --address ":9000"
117+
--console-address ":9001" /data'
118+
environment:
119+
MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minio}
120+
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-miniosecret} # CHANGEME
121+
ports:
122+
- 9090:9000
123+
- 127.0.0.1:9091:9001
124+
volumes:
125+
- langfuse_minio_data:/data
126+
healthcheck:
127+
test: [ "CMD", "mc", "ready", "local" ]
128+
interval: 1s
129+
timeout: 5s
130+
retries: 5
131+
start_period: 1s
132+
133+
redis:
134+
image: docker.io/redis:7
135+
restart: always
136+
# CHANGEME: row below to secure redis password
137+
command: >
138+
--requirepass ${REDIS_AUTH:-myredissecret} --maxmemory-policy noeviction
139+
ports:
140+
- 127.0.0.1:6379:6379
141+
volumes:
142+
- langfuse_redis_data:/data
143+
healthcheck:
144+
test: [ "CMD", "redis-cli", "ping" ]
145+
interval: 3s
146+
timeout: 10s
147+
retries: 10
148+
149+
postgres:
150+
image: docker.io/postgres:${POSTGRES_VERSION:-17}
151+
restart: always
152+
healthcheck:
153+
test: [ "CMD-SHELL", "pg_isready -U postgres" ]
154+
interval: 3s
155+
timeout: 3s
156+
retries: 10
157+
environment:
158+
POSTGRES_USER: ${POSTGRES_USER:-postgres}
159+
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres} # CHANGEME
160+
POSTGRES_DB: ${POSTGRES_DB:-postgres}
161+
TZ: UTC
162+
PGTZ: UTC
163+
ports:
164+
- 127.0.0.1:5432:5432
165+
volumes:
166+
- langfuse_postgres_data:/var/lib/postgresql/data
167+
168+
volumes:
169+
langfuse_postgres_data:
170+
driver: local
171+
langfuse_clickhouse_data:
172+
driver: local
173+
langfuse_clickhouse_logs:
174+
driver: local
175+
langfuse_minio_data:
176+
driver: local
177+
langfuse_redis_data:
178+
driver: local

0 commit comments

Comments
 (0)