-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.laminar.yml
More file actions
152 lines (143 loc) · 4.33 KB
/
docker-compose.laminar.yml
File metadata and controls
152 lines (143 loc) · 4.33 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
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
name: lmnr-local
# Local Laminar instance for dev evals. Uses the same .env as prod but overrides URLs to localhost.
# Start: docker compose -f docker-compose.laminar.yml --env-file .env.laminar up -d
# Stop: docker compose -f docker-compose.laminar.yml down
services:
postgres:
image: postgres:16
hostname: postgres
volumes:
- postgres-local-data:/var/lib/postgresql/data
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
healthcheck:
test: ["CMD", "pg_isready", "-U", "${POSTGRES_USER}", "-d", "${POSTGRES_DB}"]
interval: 2s
timeout: 5s
retries: 5
networks:
internal:
aliases:
- postgres
clickhouse:
image: clickhouse/clickhouse-server:latest
hostname: clickhouse
volumes:
- clickhouse-local-data:/var/lib/clickhouse/
- clickhouse-local-logs:/var/log/clickhouse-server/
- ./clickhouse-profiles-config.xml:/etc/clickhouse-server/users.d/lmnr.xml
- ./clickhouse-users-config.xml:/etc/clickhouse-server/users.d/lmnr-users.xml
environment:
CLICKHOUSE_USER: ${CLICKHOUSE_USER}
CLICKHOUSE_PASSWORD: ${CLICKHOUSE_PASSWORD}
ulimits:
nofile:
soft: 262144
hard: 262144
networks:
internal:
aliases:
- clickhouse
query-engine:
image: ghcr.io/lmnr-ai/query-engine
hostname: query-engine
pull_policy: always
networks:
internal:
aliases:
- query-engine
quickwit:
image: quickwit/quickwit:v0.8.2
hostname: quickwit
environment:
QW_DATA_DIR: /quickwit/qwdata
command: ["run"]
volumes:
- quickwit-local-data:/quickwit/qwdata
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:7280/health/livez"]
interval: 10s
timeout: 5s
retries: 3
networks:
internal:
aliases:
- quickwit
frontend:
image: ghcr.io/lmnr-ai/frontend
hostname: frontend
pull_policy: always
ports:
- "5667:5667"
depends_on:
postgres:
condition: service_healthy
quickwit:
condition: service_healthy
environment:
DATABASE_URL: postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB}
PORT: 5667
BACKEND_URL: http://app-server:8000
BACKEND_RT_URL: http://app-server:8002
SHARED_SECRET_TOKEN: ${SHARED_SECRET_TOKEN}
NEXTAUTH_URL: http://localhost:5667
NEXTAUTH_SECRET: ${NEXTAUTH_SECRET}
NEXT_PUBLIC_URL: http://localhost:5667
ENVIRONMENT: LITE
CLICKHOUSE_URL: http://clickhouse:8123
CLICKHOUSE_USER: ${CLICKHOUSE_USER}
CLICKHOUSE_PASSWORD: ${CLICKHOUSE_PASSWORD}
CLICKHOUSE_RO_USER: ${CLICKHOUSE_RO_USER}
CLICKHOUSE_RO_PASSWORD: ${CLICKHOUSE_RO_PASSWORD}
OPENAI_API_KEY: ${OPENAI_API_KEY:-}
AEAD_SECRET_KEY: ${AEAD_SECRET_KEY}
QUICKWIT_SEARCH_URL: http://quickwit:7280
GOOGLE_GENERATIVE_AI_API_KEY: ${GOOGLE_GENERATIVE_AI_API_KEY:-}
networks:
internal:
aliases:
- frontend
app-server:
image: ghcr.io/lmnr-ai/app-server
hostname: app-server
pull_policy: always
ports:
- "8000:8000"
- "8443:8443"
depends_on:
postgres:
condition: service_healthy
clickhouse:
condition: service_started
quickwit:
condition: service_healthy
environment:
PORT: 8000
GRPC_PORT: 8443
DATABASE_URL: postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB}
SHARED_SECRET_TOKEN: ${SHARED_SECRET_TOKEN}
CLICKHOUSE_URL: http://clickhouse:8123
CLICKHOUSE_USER: ${CLICKHOUSE_USER}
CLICKHOUSE_PASSWORD: ${CLICKHOUSE_PASSWORD}
CLICKHOUSE_RO_USER: ${CLICKHOUSE_RO_USER}
CLICKHOUSE_RO_PASSWORD: ${CLICKHOUSE_RO_PASSWORD}
ENVIRONMENT: LITE
AEAD_SECRET_KEY: ${AEAD_SECRET_KEY}
QUERY_ENGINE_URL: http://query-engine:8903
QUICKWIT_SEARCH_URL: http://quickwit:7280
QUICKWIT_INGEST_URL: http://quickwit:7281
QUICKWIT_SPANS_INDEX_ID: spans_v2
GOOGLE_GENERATIVE_AI_API_KEY: ${GOOGLE_GENERATIVE_AI_API_KEY:-}
networks:
internal:
aliases:
- app-server
volumes:
postgres-local-data:
clickhouse-local-data:
clickhouse-local-logs:
quickwit-local-data:
networks:
internal: