Repository navigation
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
58 lines (54 loc) · 1.62 KB
/
Copy pathdocker-compose.yml
File metadata and controls
58 lines (54 loc) · 1.62 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
# Interlock demo stack.
#
# docker compose up --build api + dashboard, demo mode (no keys, no TigerGraph)
# docker compose --profile tigergraph up --build
# also starts a local TigerGraph (heavy; slow first start)
#
# Live questions need GROQ_API_KEY in .env and DEMO_MODE=false. Graph-based pipelines need a
# reachable TigerGraph (TG_HOST in .env; use http://tigergraph for the local profile).
# Ports are bound to 127.0.0.1 so nothing is exposed beyond this machine.
name: interlock
services:
api:
build: .
platform: linux/amd64
env_file:
- path: .env
required: false
environment:
DEMO_MODE: ${DEMO_MODE:-true}
CORS_ORIGINS: http://localhost:3000,http://127.0.0.1:3000,https://interlock-tg.vercel.app
TURSO_DATABASE_URL: file:db/interlock.db
SEED_GRAPH: ${SEED_GRAPH:-false}
ports:
- "127.0.0.1:8000:8000"
volumes:
- ./db:/app/db
restart: unless-stopped
dashboard:
build:
context: ./dashboard
args:
NEXT_PUBLIC_API_URL: http://localhost:8000
ports:
- "127.0.0.1:3000:3000"
depends_on:
- api
restart: unless-stopped
tigergraph:
profiles: ["tigergraph"]
image: tigergraph/community:latest # pin a specific version for reproducible runs
ports:
- "14240:14240"
- "9000:9000"
ulimits:
nofile: 1000000
volumes:
- tg_data:/home/tigergraph/tigergraph/data
healthcheck:
test: ["CMD-SHELL", "curl -sf http://localhost:9000/echo || exit 1"]
interval: 15s
timeout: 5s
retries: 40
volumes:
tg_data: