perfect-postcode/docker-compose.yml
2026-02-07 21:22:38 +00:00

94 lines
2.2 KiB
YAML

services:
server:
image: rust:1.84
working_dir: /app/server-rs
command: >
bash -c "
cargo install cargo-watch &&
cargo watch -x 'run -- --data /data/wide.parquet --pois /data/filtered_uk_pois.parquet --tiles /data/uk.pmtiles --postcodes /data/postcodes'
"
ports:
- "8001:8001"
networks:
- dev-network
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- .:/app
- /bulk/property-data:/data:ro
- cargo-registry:/usr/local/cargo/registry
- cargo-target:/app/server-rs/target
environment:
POCKETBASE_URL: http://pocketbase:8090
OG_SIDECAR_URL: http://og-screenshot:8002
OLLAMA_URL: http://host.docker.internal:11434
depends_on:
pocketbase:
condition: service_healthy
og-screenshot:
build: /volumes/syncthing/Projects/property-map/og-screenshot
environment:
NARROWIT_URL: http://server:8001
CACHE_DIR: /cache
volumes:
- og-cache:/cache
networks:
- dev-network
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8002/health"]
interval: 10s
timeout: 5s
retries: 3
start_period: 30s
deploy:
resources:
reservations:
devices:
- driver: nvidia
capabilities: [ gpu ]
count: 1
frontend:
image: node:22-slim
working_dir: /app/frontend
command: >
bash -c "
npm install &&
npm run dev
"
ports:
- "3001:3001"
networks:
- dev-network
volumes:
- .:/app
- frontend-node-modules:/app/frontend/node_modules
environment:
API_PROXY_TARGET: http://server:8001
PB_PROXY_TARGET: http://pocketbase:8090
pocketbase:
image: ghcr.io/muchobien/pocketbase:latest
ports:
- "8090:8090"
volumes:
- pb-data:/pb/pb_data
networks:
- dev-network
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8090/api/health"]
interval: 10s
timeout: 5s
retries: 3
start_period: 5s
volumes:
pb-data:
cargo-registry:
cargo-target:
frontend-node-modules:
og-cache:
networks:
dev-network: