-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcompose.yml
101 lines (95 loc) · 2.89 KB
/
compose.yml
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
x-default-policy: &default_policy
restart: always
networks:
- llm-observability
services:
app:
<<: *default_policy
container_name: app
build:
context: ./app
dockerfile: Dockerfile
ports:
- 8501:8501
environment:
OPENAI_API_KEY: ${OPENAI_API_KEY}
COHERE_API_KEY: ${COHERE_API_KEY}
LANGFUSE_HOST: http://langfuse-server:3000
LANGFUSE_PUBLIC_KEY: pk-1234567890
LANGFUSE_SECRET_KEY: sk-1234567890
LANGFUSE_RELEASE: 0.0.1-SNAPSHOT
volumes:
- ./app/docs:/app/docs
develop:
watch:
- action: sync
path: ./app/
target: /app
- action: rebuild
path: ./app/
langfuse-server:
<<: *default_policy
container_name: langfuse
image: langfuse/langfuse:2.82.0
depends_on:
db:
condition: service_healthy
ports:
- "3000:3000"
environment:
- DATABASE_URL=postgresql://postgres:postgres@db:5432/postgres
- NEXTAUTH_SECRET=mysecret
- SALT=mysalt
- ENCRYPTION_KEY=a277a2912fbbc0aabbfe6eac95b597ae03ffe30477bb388e8d32d7b010e89875 # generate via `openssl rand -hex 32`
- NEXTAUTH_URL=http://localhost:3000
- TELEMETRY_ENABLED=${TELEMETRY_ENABLED:-true}
- LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES=${LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES:-false}
- LANGFUSE_INIT_ORG_ID=org-123456789
- LANGFUSE_INIT_ORG_NAME=tech-book-fest-17-llm-o11y
- LANGFUSE_INIT_PROJECT_ID=pj-1234567890
- LANGFUSE_INIT_PROJECT_NAME=Ask the BigBaBy
- LANGFUSE_INIT_PROJECT_PUBLIC_KEY=pk-1234567890
- LANGFUSE_INIT_PROJECT_SECRET_KEY=sk-1234567890
- LANGFUSE_INIT_USER_EMAIL=user@example.com
- LANGFUSE_INIT_USER_NAME=guest
- LANGFUSE_INIT_USER_PASSWORD=password
db:
<<: *default_policy
container_name: postgresql
image: postgres:17
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 3s
timeout: 3s
retries: 10
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=postgres
ports:
- 5432:5432
volumes:
- database_data:/var/lib/postgresql/data
jupyter:
<<: *default_policy
container_name: jupyter
image: jupyter/base-notebook:python-3.11
ports:
- 8080:8080
volumes:
- ./notebooks:/home/jovyan/work
- ./requirements.txt:/home/jovyan/requirements.txt
- ./app/docs:/home/jovyan/docs
command: start-notebook.sh --NotebookApp.token='' --NotebookApp.disable_check_xsrf=True --port=8080 --notebook-dir=/home/jovyan/work
environment:
OPENAI_API_KEY: ${OPENAI_API_KEY}
COHERE_API_KEY: ${COHERE_API_KEY}
JUPYTER_ENABLE_LAB: yes
LANGFUSE_HOST: http://langfuse-server:3000
LANGFUSE_PUBLIC_KEY: pk-1234567890
LANGFUSE_SECRET_KEY: sk-1234567890
networks:
llm-observability:
volumes:
database_data:
driver: local