version: "3.9" # 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 # Spotify Connect still works over TCP on dev (no host network needed) librespot: environment: - LIBRESPOT_DISABLE_DISCOVERY=false ports: - "57621:57621/udp" - "57621:57621/tcp" # avahi container for AirPlay mDNS discovery on Mac/Windows avahi: image: flungo/avahi restart: unless-stopped network_mode: host volumes: - /var/run/dbus:/var/run/dbus # Null-player zones – no audio hardware needed zone-salon: command: snapclient --host snapserver --hostID zone-salon --player null zone-cockpit: command: snapclient --host snapserver --hostID zone-cockpit --player null zone-bug: command: snapclient --host snapserver --hostID zone-bug --player null zone-heck: command: snapclient --host snapserver --hostID zone-heck --player null # Vite dev server with HMR instead of built nginx image dashboard: build: . image: node:20-alpine working_dir: /app volumes: - ./dashboard:/app - /app/node_modules command: sh -c "npm install && npm run dev -- --host 0.0.0.0 --port 8080" ports: - "8080:8080" environment: - VITE_SNAPCAST_HOST=localhost - VITE_SIGNALK_HOST=localhost - VITE_MOPIDY_HOST=localhost - VITE_JELLYFIN_HOST=localhost # Override the build-based image image: node:20-alpine