# Development override – run without any hardware. # Usage: docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d services: signalk: environment: - SIGNALK_DEMO=true # Built-in demo NMEA data generator # Librespot disabled in dev – dashboard uses mock Spotify data librespot: image: alpine:latest entrypoint: [] command: ["sh", "-c", "echo 'librespot: dev mode, mock active' && sleep infinity"] restart: "no" volumes: [] ports: [] # Zones disabled in dev – dashboard uses Snapcast mock zone-salon: image: alpine:latest entrypoint: [] command: ["sleep", "infinity"] restart: "no" zone-cockpit: image: alpine:latest entrypoint: [] command: ["sleep", "infinity"] restart: "no" zone-bug: image: alpine:latest entrypoint: [] command: ["sleep", "infinity"] restart: "no" zone-heck: image: alpine:latest entrypoint: [] command: ["sleep", "infinity"] restart: "no" # Vite dev server with HMR instead of built nginx image dashboard: image: node:20-alpine entrypoint: [] working_dir: /app volumes: - ./dashboard:/app - /app/node_modules command: ["sh", "-c", "npm install && npm run dev -- --host 0.0.0.0 --port 8090"] ports: - "8090:8090" environment: - VITE_SNAPCAST_HOST=localhost - VITE_SIGNALK_HOST=localhost - VITE_MOPIDY_HOST=localhost - VITE_JELLYFIN_HOST=localhost