.PHONY: dev boot stop logs rebuild status pipes mac-audio spotify windows-audio # ── Docker ───────────────────────────────────────────────────────────────────── dev: docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d boot: docker compose up -d stop: docker compose -f docker-compose.yml -f docker-compose.dev.yml down stop-boot: docker compose down logs: docker compose -f docker-compose.yml -f docker-compose.dev.yml logs -f rebuild: docker compose -f docker-compose.yml -f docker-compose.dev.yml build --no-cache status: docker compose -f docker-compose.yml -f docker-compose.dev.yml ps # ── Mac native audio (dev) ───────────────────────────────────────────────────── # Runs a real Snapcast client on the Mac, connected to the Docker snapserver. # Audio plays through Mac speakers. This is the "mac-audio" zone. # Requires: brew install snapcast mac-audio: @echo "Starting Snapcast client → Mac speakers (zone: mac-audio)" @which snapclient > /dev/null || (echo "Installing snapcast via Homebrew..." && brew install snapcast) snapclient --host localhost --port 1704 --hostID mac-audio --player default # ── Spotify Connect on Mac ───────────────────────────────────────────────────── # Runs librespot natively on Mac. The Spotify app will see "Bordanlage" as device. # Audio goes through Mac speakers directly (rodio backend). # Requires: brew install librespot # Note: For Snapcast multiroom, use the pipe backend instead (boot mode only). spotify: @echo "Starting Spotify Connect (librespot) on Mac..." @which librespot > /dev/null || (echo "Installing librespot via Homebrew..." && brew install librespot) librespot \ --name "$${SPOTIFY_NAME:-Bordanlage}" \ --bitrate $${SPOTIFY_BITRATE:-320} \ --backend rodio \ --zeroconf-port 57621 # ── Windows native audio (dev) ───────────────────────────────────────────────── # Runs a real Snapcast client on Windows, connected to the Docker snapserver. # Audio plays through Windows speakers. This is the "windows-pc" zone. # Requires: snapcast from https://github.com/badaix/snapcast/releases windows-audio: @echo "Starting Snapcast client → Windows speakers (zone: windows-pc)" @where snapclient > nul || (echo "Please install Snapcast from https://github.com/badaix/snapcast/releases" && exit 1) snapclient --host localhost --port 1704 --hostID windows-pc --player wasapi