59 lines
1.6 KiB
YAML
59 lines
1.6 KiB
YAML
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
|