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"
|
||||
|
||||
# Production docker-compose for boat deployment.
|
||||
# For development use: docker compose -f docker-compose.yml -f docker-compose.dev.yml up
|
||||
|
||||
@@ -42,23 +40,19 @@ services:
|
||||
# ─── Audio Sources ─────────────────────────────────────────────────────────
|
||||
|
||||
librespot:
|
||||
image: ghcr.io/librespot-org/librespot:latest
|
||||
build: ./docker/librespot
|
||||
restart: unless-stopped
|
||||
# On Linux (boat): use host network for mDNS/Spotify discovery
|
||||
# network_mode: host
|
||||
ports:
|
||||
- "57621:57621/udp" # Spotify zeroconf discovery
|
||||
- "57621:57621/tcp"
|
||||
environment:
|
||||
- SPOTIFY_NAME=${SPOTIFY_NAME:-Bordanlage}
|
||||
- SPOTIFY_BITRATE=${SPOTIFY_BITRATE:-320}
|
||||
command: >
|
||||
--name "${SPOTIFY_NAME:-Bordanlage}"
|
||||
--bitrate ${SPOTIFY_BITRATE:-320}
|
||||
--backend pipe
|
||||
--device /tmp/audio/spotify.pcm
|
||||
--zeroconf-port 57621
|
||||
--cache-size-limit ${SPOTIFY_CACHE_SIZE:-1024}
|
||||
volumes:
|
||||
- pipes:/tmp/audio
|
||||
networks:
|
||||
@@ -114,7 +108,7 @@ services:
|
||||
# ─── Multiroom Audio ───────────────────────────────────────────────────────
|
||||
|
||||
snapserver:
|
||||
image: ghcr.io/badaix/snapcast:latest
|
||||
build: ./docker/snapserver
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "1704:1704" # Snapcast protocol
|
||||
@@ -131,41 +125,41 @@ services:
|
||||
- bordanlage
|
||||
|
||||
zone-salon:
|
||||
image: ghcr.io/badaix/snapcast:latest
|
||||
build: ./docker/snapclient
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- snapserver
|
||||
# On boat: add --soundcard hw:0,0 and device /dev/snd
|
||||
# devices:
|
||||
# - /dev/snd:/dev/snd
|
||||
command: snapclient --host snapserver --hostID zone-salon --player null
|
||||
command: ["snapclient", "--host", "snapserver", "--hostID", "zone-salon", "--player", "null"]
|
||||
networks:
|
||||
- bordanlage
|
||||
|
||||
zone-cockpit:
|
||||
image: ghcr.io/badaix/snapcast:latest
|
||||
build: ./docker/snapclient
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- snapserver
|
||||
command: snapclient --host snapserver --hostID zone-cockpit --player null
|
||||
command: ["snapclient", "--host", "snapserver", "--hostID", "zone-cockpit", "--player", "null"]
|
||||
networks:
|
||||
- bordanlage
|
||||
|
||||
zone-bug:
|
||||
image: ghcr.io/badaix/snapcast:latest
|
||||
build: ./docker/snapclient
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- snapserver
|
||||
command: snapclient --host snapserver --hostID zone-bug --player null
|
||||
command: ["snapclient", "--host", "snapserver", "--hostID", "zone-bug", "--player", "null"]
|
||||
networks:
|
||||
- bordanlage
|
||||
|
||||
zone-heck:
|
||||
image: ghcr.io/badaix/snapcast:latest
|
||||
build: ./docker/snapclient
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- snapserver
|
||||
command: snapclient --host snapserver --hostID zone-heck --player null
|
||||
command: ["snapclient", "--host", "snapserver", "--hostID", "zone-heck", "--player", "null"]
|
||||
networks:
|
||||
- bordanlage
|
||||
|
||||
|
||||
Reference in New Issue
Block a user