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: