docker-snapcast/Dockerfile

47 lines
1.6 KiB
Docker

FROM curlimages/curl:8.7.1@sha256:25d29daeb9b14b89e2fa8cc17c70e4b188bca1466086907c2d9a4b56b59d8e21 as snapcast
# renovate: datasource=github-tags depName=badaix/snapcast versioning=semver
ENV SNAPCAST_VERSION v0.27.0
RUN set -ex; \
\
curl -Lo /home/curl_user/snapserver.deb \
https://github.com/badaix/snapcast/releases/download/${SNAPCAST_VERSION}/snapserver_${SNAPCAST_VERSION#v}-1_amd64.deb
FROM rust:1.76.0-bullseye@sha256:334528b19c78913712cf1d36bde2c862ee66ff32f109e80f5d94c1a8f20acbcb as librespot
# renovate: datasource=github-tags depName=librespot-org/librespot versioning=semver
ENV LIBRESPOT_VERSION v0.4.2
RUN set -ex; \
apt-get update; \
apt-get install -y --no-install-recommends \
build-essential \
; \
rustup component add rustfmt clippy; \
git clone --branch ${LIBRESPOT_VERSION} https://github.com/librespot-org/librespot.git /librespot; \
cd /librespot; \
cargo build --release --no-default-features;
FROM debian:bullseye-slim@sha256:8481471cacd29779e7b6fe64a891f4b6771d8c3c7e57bb410542a3db10d1897a
COPY --from=snapcast /home/curl_user/snapserver.deb /snapserver.deb
COPY --from=librespot /librespot/target/release/librespot /usr/local/bin/librespot
RUN set -ex; \
apt-get update; \
apt-get install -y --no-install-recommends \
supervisor \
/snapserver.deb \
; \
mkdir -p \
/var/log/supervisord \
/var/run/supervisord \
; \
apt-get clean; \
rm -rf /var/lib/apt/lists/*;
COPY supervisord.conf /supervisord.conf
CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf"]