Compare commits

...

8 Commits

5 changed files with 61 additions and 35 deletions

View File

@ -4,7 +4,7 @@
"author": "Morgan", "author": "Morgan",
"description": "file://DESCRIPTION.md", "description": "file://DESCRIPTION.md",
"tagline": "A modern client-server application for the Soulseek file-sharing network.", "tagline": "A modern client-server application for the Soulseek file-sharing network.",
"version": "1.0.3", "version": "1.0.8",
"healthCheckPath": "/health", "healthCheckPath": "/health",
"httpPort": 5030, "httpPort": 5030,
"addons": { "addons": {
@ -21,4 +21,3 @@
"music" "music"
] ]
} }

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

View File

@ -5,3 +5,13 @@ set -xeu
./bump_version.sh patch ./bump_version.sh patch
./build.sh ./build.sh
# Met à jour la version dans CloudronManifest.json
jq --arg v "$(command cat VERSION)" '.version = $v' CloudronManifest.json > CloudronManifest.json.tmp && mv CloudronManifest.json.tmp CloudronManifest.json
# Commit + tag + push
git add VERSION CloudronManifest.json
git commit -m "chore: bump version to v$(command cat VERSION)"
git tag "v$(command cat VERSION)"
git push --follow-tags
git push origin --tags

View File

@ -28,3 +28,19 @@ paths:
downloads: /app/data/downloads downloads: /app/data/downloads
incomplete: /app/data/incomplete incomplete: /app/data/incomplete
shares:
directories:
- '/app/data/downloads'
filters:
- \.ini$
- Thumbs.db$
- \.DS_Store$
- \.bak$
- \.sync-conflict*$
- \.trashed*$
- \.nfo*$
- \.st*$
- \.txt$
- \.csv$
- \.torrent$