version: "3.9" services: api: image: python:3.11-slim working_dir: /app volumes: - ./api:/app - ./api/storage:/storage environment: - PYTHONUNBUFFERED=1 command: > sh -lc " 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: - ./web:/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: