-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.langfuse.yml
More file actions
46 lines (43 loc) · 1.49 KB
/
Copy pathdocker-compose.langfuse.yml
File metadata and controls
46 lines (43 loc) · 1.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# LLM Ops overlay — tracing, eval scores, and answer replay.
#
# docker compose -f docker-compose.yml -f docker-compose.langfuse.yml up
#
# Kept as an overlay rather than folded into the base stack: tracing is
# genuinely optional (the SDK no-ops without keys), and a self-hoster trying
# Lore for the first time shouldn't have to run two extra containers to get
# an answer out of /why.
#
# After first boot: open http://localhost:3000, create a project, then put
# its keys in .env as LANGFUSE_PUBLIC_KEY / LANGFUSE_SECRET_KEY and restart
# the backend. Until then every trace call is a no-op.
services:
langfuse-db:
image: postgres:16-alpine
environment:
POSTGRES_USER: langfuse
POSTGRES_PASSWORD: langfuse
POSTGRES_DB: langfuse
volumes:
- lore_langfuse_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U langfuse"]
interval: 5s
timeout: 5s
retries: 10
langfuse:
image: langfuse/langfuse:2
ports:
- "3000:3000"
environment:
DATABASE_URL: postgresql://langfuse:langfuse@langfuse-db:5432/langfuse
NEXTAUTH_URL: http://localhost:3000
# Local-only defaults. Replace both before exposing this beyond
# localhost — they sign sessions and encrypt stored API keys.
NEXTAUTH_SECRET: local-dev-only-change-me
SALT: local-dev-only-change-me
TELEMETRY_ENABLED: "false"
depends_on:
langfuse-db:
condition: service_healthy
volumes:
lore_langfuse_data: