Add compose-based dev task

This commit is contained in:
Andras Schmelczer 2026-02-07 19:02:29 +00:00
parent 091cb6f4b4
commit 7ad5b66856
2 changed files with 88 additions and 34 deletions

View file

@ -1,28 +1,91 @@
services:
narrowit:
build: .
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 --pocketbase-url http://pocketbase:8090'
"
ports:
- "8001:8001"
networks:
- ollama-network
- dev-network
volumes:
- .:/app
- /bulk/property-data:/data:ro
- cargo-registry:/usr/local/cargo/registry
- cargo-target:/app/server-rs/target
environment:
OG_SIDECAR_URL: http://og-screenshot:8002
PUBLIC_URL: https://narrowit.schmelczer.dev
POCKETBASE_URL: http://pocketbase:8090
G_SIDECAR_URL: http://og-screenshot:8002
depends_on:
og-screenshot:
pocketbase:
condition: service_healthy
og-screenshot:
build: ./og-screenshot
build: /volumes/syncthing/Projects/property-map/og-screenshot
environment:
NARROWIT_URL: http://narrowit:8001
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
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:
ollama-network:
dev-network: