Initial implementation: Bordanlage boat onboard system

Complete multiroom audio + navigation dashboard:
- Docker stack: SignalK, Snapcast (4 zones), librespot, shairport-sync, Mopidy, Jellyfin, Portainer
- React 18 + Vite dashboard with nautical dark theme
- Full mock system (SignalK NMEA simulation, Snapcast zones, Mopidy player)
- Real API clients for all services with reconnect logic
- SVG instruments: Compass, WindRose, Gauge, DepthSounder, SpeedLog
- Pages: Overview, Navigation, Audio (zones/radio/library), Systems
- Dev mode runs fully without hardware (make dev)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-26 11:47:33 +01:00
commit 946c0a5377
57 changed files with 3450 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
FROM ghcr.io/mopidy/mopidy:latest
USER root
RUN pip3 install \
mopidy-iris \
mopidy-local \
mopidy-stream \
mopidy-tunein \
mopidy-podcast \
--break-system-packages
# Ensure audio pipe directory exists at startup
RUN echo '#!/bin/sh\nmkdir -p /tmp/audio\nexec "$@"' > /entrypoint-wrapper.sh \
&& chmod +x /entrypoint-wrapper.sh
USER mopidy
ENTRYPOINT ["/entrypoint-wrapper.sh"]
CMD ["mopidy", "--config", "/etc/mopidy/mopidy.conf"]