chore: ship curl/unzip/jq in runtime image and translate comments to English

This commit is contained in:
SansGuidon 2025-04-30 20:06:44 +02:00
parent fdc40da561
commit 1b118cf0b7
2 changed files with 34 additions and 33 deletions

View File

@ -1,43 +1,44 @@
# 1) Télécharger et unzipper slskd # -------- 1. Build stage: fetch latest slskd --------
FROM debian:bookworm-slim AS downloader FROM debian:bookworm-slim AS build
RUN apt-get update \ RUN apt-get update && apt-get install -y --no-install-recommends \
&& apt-get install -y --no-install-recommends \ curl ca-certificates unzip jq \
curl ca-certificates unzip jq \ && rm -rf /var/lib/apt/lists/*
&& rm -rf /var/lib/apt/lists/*
WORKDIR /tmp WORKDIR /tmp
ARG TARGETPLATFORM ARG TARGETPLATFORM
RUN TAG=$(curl -fsSL https://api.github.com/repos/slskd/slskd/releases/latest \
| jq -r '.tag_name') \
&& case "${TARGETPLATFORM}" in \
"linux/amd64") URL="https://github.com/slskd/slskd/releases/download/${TAG}/slskd-${TAG}-linux-x64.zip" ;; \
"linux/arm64") URL="https://github.com/slskd/slskd/releases/download/${TAG}/slskd-${TAG}-linux-arm64.zip" ;; \
*) echo "Unsupported PLATFORM: ${TARGETPLATFORM}" >&2; exit 1 ;; \
esac \
&& curl -fsSL "$URL" -o slskd.zip \
&& unzip slskd.zip
# 2) Image finale RUN TAG=$(curl -fsSL https://api.github.com/repos/slskd/slskd/releases/latest | jq -r '.tag_name') && \
case "${TARGETPLATFORM}" in \
"linux/amd64") URL="https://github.com/slskd/slskd/releases/download/${TAG}/slskd-${TAG}-linux-x64.zip" ;; \
"linux/arm64") URL="https://github.com/slskd/slskd/releases/download/${TAG}/slskd-${TAG}-linux-arm64.zip" ;; \
*) echo "Unsupported platform ${TARGETPLATFORM}" >&2; exit 1 ;; \
esac && \
curl -fsSL "$URL" -o slskd.zip && \
unzip slskd.zip
# -------- 2. Runtime stage --------
FROM debian:bookworm-slim FROM debian:bookworm-slim
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
tini jq ca-certificates gosu libstdc++6 \
&& rm -rf /var/lib/apt/lists/*
# Créer les répertoires code, data et cache RUN apt-get update && apt-get install -y --no-install-recommends \
RUN mkdir -p /app/code /app/data /run/slskd/cache \ tini gosu libstdc++6 \
&& useradd -u 1000 -m -d /app/data -s /bin/bash cloudron \ curl ca-certificates unzip jq \
&& chown -R cloudron:cloudron /app/data /run/slskd/cache && rm -rf /var/lib/apt/lists/*
# Copier binaire + UI statique # Minimal filesystem layout
COPY --from=downloader /tmp/slskd /app/code/slskd RUN mkdir -p /app/code /app/data /run/slskd/cache && \
COPY --from=downloader /tmp/wwwroot /app/code/wwwroot useradd -u 1000 -m -d /app/data -s /bin/bash cloudron && \
chown -R cloudron:cloudron /app/data /run/slskd/cache
# Copier config example et script de démarrage # Copy binaries + static UI
COPY slskd.yml.example /app/code/slskd.yml.example COPY --from=build /tmp/slskd /app/code/slskd
COPY start.sh /app/code/start.sh COPY --from=build /tmp/wwwroot /app/code/wwwroot
RUN chmod +x /app/code/slskd /app/code/start.sh \ # Config + startup
&& chown -R cloudron:cloudron /app/code COPY slskd.yml.example /app/code/slskd.yml.example
COPY start.sh /app/code/start.sh
RUN chmod +x /app/code/slskd /app/code/start.sh && \
chown -R cloudron:cloudron /app/code
WORKDIR /app/code WORKDIR /app/code
ENTRYPOINT ["/usr/bin/tini", "--"] ENTRYPOINT ["/usr/bin/tini", "--"]

View File

@ -1 +1 @@
1.0.4 1.0.5