FROM debian:bookworm-slim ARG SNAPCAST_VERSION=0.35.0 ARG TARGETARCH # Resolve Debian arch name from Docker arch RUN case "${TARGETARCH}" in \ amd64) ARCH=amd64 ;; \ arm64) ARCH=arm64 ;; \ arm) ARCH=armhf ;; \ *) echo "Unsupported arch: ${TARGETARCH}" && exit 1 ;; \ esac \ && apt-get update \ && apt-get install -y --no-install-recommends curl ca-certificates gettext-base \ && curl -fLO "https://github.com/badaix/snapcast/releases/download/v${SNAPCAST_VERSION}/snapserver_${SNAPCAST_VERSION}-1_${ARCH}_bookworm.deb" \ && apt-get install -y --no-install-recommends ./snapserver_*.deb \ && rm -f snapserver_*.deb \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* COPY entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] EXPOSE 1704 1705 1780 HEALTHCHECK --interval=15s --timeout=5s --start-period=10s \ CMD curl -fsS http://localhost:1780/jsonrpc \ -H 'Content-Type: application/json' \ -d '{"jsonrpc":"2.0","method":"Server.GetStatus","id":1}' \ | grep -q '"id":1' || exit 1 CMD ["snapserver", "--config", "/tmp/snapserver.conf"]