-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
40 lines (39 loc) Β· 1.28 KB
/
Copy pathdocker-compose.yml
File metadata and controls
40 lines (39 loc) Β· 1.28 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
services:
backend:
build:
context: ./backend
dockerfile: Dockerfile
ports:
- "8902:8902"
volumes:
# DuckDB database β generated by backend/etl/ingest.py, mounted (NOT baked in)
- ./backend/data:/app/data
# Source CSVs used by the ETL, read-only
- /data/opendata/canada:/data/opendata/canada:ro
# Lets the container reach the Ollama proxy running on the HOST at :11434
extra_hosts:
- "host.docker.internal:host-gateway"
environment:
- CARBONTRAIL_DB=/app/data/carbontrail.duckdb
# --- AI layer (local Ollama-Cloud, OpenAI-compatible) ---
- OLLAMA_BASE_URL=${OLLAMA_BASE_URL:-http://host.docker.internal:11434/v1}
- LLM_MODEL=${LLM_MODEL:-gpt-oss:120b-cloud}
- AI_DISABLED=${AI_DISABLED:-0}
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8902/api/health"]
interval: 30s
timeout: 5s
retries: 3
start_period: 20s
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
ports:
- "3100:3000"
environment:
# Next.js rewrites /api/* to this URL (server-side); reach backend by service name
- NEXT_PUBLIC_API_URL=${NEXT_PUBLIC_API_URL:-http://backend:8902}
depends_on:
backend:
condition: service_healthy