64 lines
1.9 KiB
YAML
64 lines
1.9 KiB
YAML
# Development override – real services, no hardware needed.
|
||
# Usage: docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d
|
||
# Mac audio output: make mac-audio
|
||
# Spotify Connect: make spotify
|
||
|
||
services:
|
||
|
||
signalk:
|
||
environment:
|
||
- SIGNALK_DEMO=true # Built-in demo NMEA data generator
|
||
|
||
librespot:
|
||
build:
|
||
context: ./docker/librespot
|
||
dockerfile: Dockerfile
|
||
ports:
|
||
- "57621:57621/udp"
|
||
- "57621:57621/tcp"
|
||
command: [
|
||
"--name", "${SPOTIFY_NAME:-Bordanlage} (Dev)",
|
||
"--bitrate", "${SPOTIFY_BITRATE:-320}",
|
||
"--backend", "pipe",
|
||
"--device", "/tmp/audio/spotify.pcm",
|
||
"--zeroconf-port", "57621"
|
||
]
|
||
volumes:
|
||
- pipes:/tmp/audio
|
||
networks:
|
||
- bordanlage
|
||
restart: unless-stopped
|
||
|
||
# Zones: real snapclient containers with null player (v0.35+, URI format)
|
||
zone-salon:
|
||
command: ["--hostID", "zone-salon", "--player", "file:filename=null", "tcp://snapserver"]
|
||
|
||
zone-cockpit:
|
||
command: ["--hostID", "zone-cockpit", "--player", "file:filename=null", "tcp://snapserver"]
|
||
|
||
zone-bug:
|
||
command: ["--hostID", "zone-bug", "--player", "file:filename=null", "tcp://snapserver"]
|
||
|
||
zone-heck:
|
||
command: ["--hostID", "zone-heck", "--player", "file:filename=null", "tcp://snapserver"]
|
||
|
||
# Vite dev server with HMR — uses Dockerfile.dev to avoid overwriting node:20-alpine
|
||
dashboard:
|
||
build:
|
||
context: ./dashboard
|
||
dockerfile: Dockerfile.dev
|
||
entrypoint: []
|
||
working_dir: /app
|
||
volumes:
|
||
- ./dashboard:/app
|
||
- /app/node_modules
|
||
command: ["sh", "-c", "npm install --legacy-peer-deps && 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
|
||
- VITE_USE_MOCK=false # FALSE = Nutze echte Services (Spotify, AirPlay, Mopidy)
|