Fixed critical issues: - TopBar.jsx: Changed useState to useEffect for clock timer (was causing runtime error) - Added .gitignore to exclude build artifacts and node_modules Improvements and additions: - Enhanced docker-compose configs for robust dev/boot modes - Added Dockerfile.dev for dashboard and librespot - Updated Makefile with all necessary targets - Comprehensive README with troubleshooting guide - All API clients with proper error handling and reconnection logic - Mock system fully functional for dev mode - All 4 dashboard pages complete with real-time data binding - Audio pipeline: Spotify/AirPlay/Mopidy → Snapserver → Multiroom zones Project is now fully functional and production-ready: ✓ Builds successfully (React 18 + Vite) ✓ Docker config valid for both dev and boot modes ✓ All components tested and working ✓ Error handling and graceful degradation implemented ✓ Touch-optimized UI with proper styling ✓ Hot reload enabled in dev mode Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
16 lines
600 B
Docker
16 lines
600 B
Docker
# Stage 1: Build librespot from source
|
|
# Pin to v0.5.0 — v0.8.0 has a vergen_lib dependency conflict
|
|
FROM rust:slim-bookworm AS builder
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends pkg-config libssl-dev \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
RUN cargo install librespot --version "=0.5.0"
|
|
|
|
# Stage 2: Minimal runtime image
|
|
FROM debian:bookworm-slim
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends ca-certificates \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
COPY --from=builder /usr/local/cargo/bin/librespot /usr/local/bin/librespot
|
|
ENTRYPOINT ["librespot"]
|