feat: complete dashboard redesign, proxy unification, and Windows compatibility fixes
This commit is contained in:
@@ -1,15 +1,5 @@
|
||||
# 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"
|
||||
# Use the official librespot image
|
||||
FROM ghcr.io/librespot-org/librespot:latest
|
||||
|
||||
# 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"]
|
||||
# The official image already has the entrypoint set to librespot
|
||||
# We just need to ensure it's used correctly in docker-compose
|
||||
|
||||
@@ -1,3 +1,17 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# Create the audio directory if it doesn't exist
|
||||
mkdir -p /tmp/audio
|
||||
|
||||
# Create the named pipes if they don't exist
|
||||
for pipe in spotify.pcm airplay.pcm mopidy.pcm; do
|
||||
path="/tmp/audio/$pipe"
|
||||
if [ ! -p "$path" ]; then
|
||||
mkfifo "$path"
|
||||
echo "Created pipe: $path"
|
||||
fi
|
||||
done
|
||||
|
||||
echo "All audio pipes ready. Starting Mopidy..."
|
||||
exec "$@"
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
FROM debian:bookworm-slim
|
||||
ARG VERSION=0.35.0
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends ca-certificates wget \
|
||||
&& ARCH=$(dpkg --print-architecture) \
|
||||
&& wget -q "https://github.com/badaix/snapcast/releases/download/v${VERSION}/snapclient_${VERSION}-1_${ARCH}_bookworm.deb" \
|
||||
-O /tmp/snapclient.deb \
|
||||
&& dpkg -i /tmp/snapclient.deb || apt-get install -fy \
|
||||
&& rm /tmp/snapclient.deb \
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
ca-certificates \
|
||||
curl \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ENTRYPOINT ["snapclient"]
|
||||
RUN ARCH=$(dpkg --print-architecture) \
|
||||
&& curl -L "https://github.com/badaix/snapcast/releases/download/v${VERSION}/snapclient_${VERSION}-1_${ARCH}_bookworm.deb" -o /tmp/snapclient.deb \
|
||||
&& dpkg -i /tmp/snapclient.deb || apt-get install -fy \
|
||||
&& rm /tmp/snapclient.deb
|
||||
|
||||
ENTRYPOINT ["/usr/bin/snapclient"]
|
||||
|
||||
@@ -1,14 +1,22 @@
|
||||
FROM debian:bookworm-slim
|
||||
ARG VERSION=0.35.0
|
||||
ARG WEB_VERSION=0.9.1
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends ca-certificates wget \
|
||||
&& ARCH=$(dpkg --print-architecture) \
|
||||
&& wget -q "https://github.com/badaix/snapcast/releases/download/v${VERSION}/snapserver_${VERSION}-1_${ARCH}_bookworm.deb" \
|
||||
-O /tmp/snapserver.deb \
|
||||
&& dpkg -i /tmp/snapserver.deb || apt-get install -fy \
|
||||
&& rm /tmp/snapserver.deb \
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
ca-certificates \
|
||||
curl \
|
||||
unzip \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN ARCH=$(dpkg --print-architecture) \
|
||||
&& curl -L "https://github.com/badaix/snapcast/releases/download/v${VERSION}/snapserver_${VERSION}-1_${ARCH}_bookworm.deb" -o /tmp/snapserver.deb \
|
||||
&& dpkg -i /tmp/snapserver.deb || apt-get install -fy \
|
||||
&& rm /tmp/snapserver.deb
|
||||
|
||||
RUN curl -L "https://github.com/badaix/snapweb/releases/download/v${WEB_VERSION}/snapweb.zip" -o /tmp/snapweb.zip \
|
||||
&& mkdir -p /usr/share/snapserver/snapweb \
|
||||
&& unzip -o /tmp/snapweb.zip -d /usr/share/snapserver/snapweb \
|
||||
&& rm /tmp/snapweb.zip
|
||||
|
||||
EXPOSE 1704 1705 1780
|
||||
CMD ["snapserver"]
|
||||
|
||||
Reference in New Issue
Block a user