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
networks:
weavegraph:
name: weavegraph
volumes:
ollama_data: # Ollama model weights and runtime data
postgres_data: # PostgreSQL data directory
services: # containers used by local dev and integration tests
ollama: # local LLM inference service
container_name: ollama # named for easy docker exec access
image: "ollama/ollama:latest" # always pull the latest tag
restart: unless-stopped # restart on crash but not on explicit stop
tty: true # allocate a pseudo-TTY for ollama's interactive output
networks:
- weavegraph
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
environment: # runtime config for ollama server
OLLAMA_HOST: "0.0.0.0"
OLLAMA_KEEP_ALIVE: "24h"
# postgres — used by integration tests that require the postgres feature flag
postgres: # weavegraph test database
container_name: weavegraph_postgres # unique name for CI scripts
image: "postgres:18-alpine" # small Alpine-based image
restart: unless-stopped
networks: # attach to shared overlay network
- weavegraph # shared overlay network
ports:
- "5432:5432"
volumes: # persist data across container restarts
- postgres_data:/var/lib/postgresql/data # named volume
environment:
POSTGRES_DB: weavegraph_test
POSTGRES_USER: weavegraph
POSTGRES_PASSWORD: weavegraph
healthcheck: # wait for postgres to be ready before tests run
test: # health probe
interval: 5s # check every 5 seconds
timeout: 5s # query must complete within 5 seconds
retries: 5 # mark unhealthy after 5 consecutive failures