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:
2026-03-26 15:12:20 +01:00
parent 77123a0df5
commit 67b9c2ba92
8 changed files with 1765 additions and 56 deletions

View File

@@ -1,20 +1,29 @@
FROM ghcr.io/mopidy/mopidy:latest
FROM debian:bookworm-slim
USER root
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
python3 python3-pip python3-gi python3-gi-cairo \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-ugly \
gstreamer1.0-tools \
gir1.2-gstreamer-1.0 \
gir1.2-gst-plugins-base-1.0 \
&& rm -rf /var/lib/apt/lists/*
RUN pip3 install \
mopidy-iris \
mopidy-local \
mopidy-stream \
mopidy-tunein \
mopidy-podcast \
--break-system-packages
RUN pip3 install --break-system-packages \
mopidy \
mopidy-iris \
mopidy-local \
mopidy-tunein
# Ensure audio pipe directory exists at startup
RUN echo '#!/bin/sh\nmkdir -p /tmp/audio\nexec "$@"' > /entrypoint-wrapper.sh \
&& chmod +x /entrypoint-wrapper.sh
RUN useradd -m -u 84 mopidy \
&& install -d -o mopidy /var/cache/mopidy /var/lib/mopidy /var/log/mopidy
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
EXPOSE 6680
USER mopidy
ENTRYPOINT ["/entrypoint-wrapper.sh"]
ENTRYPOINT ["/entrypoint.sh"]
CMD ["mopidy", "--config", "/etc/mopidy/mopidy.conf"]