Fix Docker Compose for Mac dev mode
- Replace all ghcr.io images (blocked without auth) with local Dockerfiles: snapserver/snapclient from debian:bookworm-slim, mopidy from debian:bookworm-slim + Python/GStreamer, librespot disabled in dev (v0.8.0 has vergen dep bug) - Fix duplicate 'image' and 'version' keys in compose files - Dev mode: zones + librespot use alpine dummy containers - Dashboard dev: use upstream node:20-alpine directly (no custom build) - Port changed to 8090 (8080 taken by Supabase) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,3 @@
|
||||
version: "3.9"
|
||||
|
||||
# Development override – run without any hardware.
|
||||
# Usage: docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d
|
||||
|
||||
@@ -9,50 +7,53 @@ services:
|
||||
environment:
|
||||
- SIGNALK_DEMO=true # Built-in demo NMEA data generator
|
||||
|
||||
# Spotify Connect still works over TCP on dev (no host network needed)
|
||||
# Librespot disabled in dev – dashboard uses mock Spotify data
|
||||
librespot:
|
||||
environment:
|
||||
- LIBRESPOT_DISABLE_DISCOVERY=false
|
||||
ports:
|
||||
- "57621:57621/udp"
|
||||
- "57621:57621/tcp"
|
||||
image: alpine:latest
|
||||
entrypoint: []
|
||||
command: ["sh", "-c", "echo 'librespot: dev mode, mock active' && sleep infinity"]
|
||||
restart: "no"
|
||||
volumes: []
|
||||
ports: []
|
||||
|
||||
# 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
|
||||
# Zones disabled in dev – dashboard uses Snapcast mock
|
||||
zone-salon:
|
||||
command: snapclient --host snapserver --hostID zone-salon --player null
|
||||
image: alpine:latest
|
||||
entrypoint: []
|
||||
command: ["sleep", "infinity"]
|
||||
restart: "no"
|
||||
|
||||
zone-cockpit:
|
||||
command: snapclient --host snapserver --hostID zone-cockpit --player null
|
||||
image: alpine:latest
|
||||
entrypoint: []
|
||||
command: ["sleep", "infinity"]
|
||||
restart: "no"
|
||||
|
||||
zone-bug:
|
||||
command: snapclient --host snapserver --hostID zone-bug --player null
|
||||
image: alpine:latest
|
||||
entrypoint: []
|
||||
command: ["sleep", "infinity"]
|
||||
restart: "no"
|
||||
|
||||
zone-heck:
|
||||
command: snapclient --host snapserver --hostID zone-heck --player null
|
||||
image: alpine:latest
|
||||
entrypoint: []
|
||||
command: ["sleep", "infinity"]
|
||||
restart: "no"
|
||||
|
||||
# Vite dev server with HMR instead of built nginx image
|
||||
dashboard:
|
||||
build: .
|
||||
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 8080"
|
||||
command: ["sh", "-c", "npm install && npm run dev -- --host 0.0.0.0 --port 8090"]
|
||||
ports:
|
||||
- "8080:8080"
|
||||
- "8090:8090"
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user