version: "3.9" services: api: build: context: ./camera-management-api dockerfile: Dockerfile working_dir: /app volumes: - ./camera-management-api:/app - ./camera-management-api/storage:/storage environment: - PYTHONUNBUFFERED=1 - LD_LIBRARY_PATH=/usr/local/lib:/app/camera_sdk/lib command: > sh -lc " apt-get update && apt-get install -y libusb-1.0-0-dev; if [ -d camera_sdk/lib ]; then cp camera_sdk/lib/* /usr/local/lib/ 2>/dev/null || true; fi; if [ -f requirements.txt ]; then pip install --no-cache-dir -r requirements.txt; else pip install --no-cache-dir -e .; fi; python main.py --config config.compose.json " ports: - "8000:8000" depends_on: - mqtt web: image: node:20-alpine working_dir: /app volumes: - ./management-dashboard-web-app:/app environment: - CHOKIDAR_USEPOLLING=true - VITE_SUPABASE_URL=${VITE_SUPABASE_URL} - VITE_SUPABASE_ANON_KEY=${VITE_SUPABASE_ANON_KEY} command: > sh -lc " npm ci; npm run dev -- --host 0.0.0.0 --port 5173 " ports: - "5173:5173" mqtt: image: eclipse-mosquitto:2 ports: - "1883:1883" volumes: - mosquitto-data:/mosquitto/data - mosquitto-conf:/mosquitto/config volumes: mosquitto-data: mosquitto-conf: