From cb7a3d77be28540579e9a323ee44ae8de826996a Mon Sep 17 00:00:00 2001 From: Honey Date: Tue, 18 Aug 2026 23:58:22 +0200 Subject: [PATCH] fix(backend): install Deno so yt-dlp can solve YouTube's signature/nsig challenge MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Recent yt-dlp (which the backend re-pulls latest on every restart) needs an external JavaScript runtime to solve YouTube's signature/nsig challenge — without it, "Signature solving failed" → formats get skipped/HTTP 403. Install Deno in the backend container (+ unzip for its installer) and put it on PATH for the node process so spawned yt-dlp finds it. No extra container, no account, no proxy. Co-Authored-By: Claude Opus 4.8 --- docker-compose.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 3f1e681..8dcd0e6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -35,11 +35,12 @@ services: - TICKETMASTER_API_KEY=${TICKETMASTER_API_KEY} command: > sh -c " - apt-get update && apt-get install -y --no-install-recommends python3 python3-pip ffmpeg curl git && rm -rf /var/lib/apt/lists/* && + apt-get update && apt-get install -y --no-install-recommends python3 python3-pip ffmpeg curl git unzip && rm -rf /var/lib/apt/lists/* && curl -sL https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp && chmod a+rx /usr/local/bin/yt-dlp && + curl -fsSL https://deno.land/install.sh | sh && pip install --break-system-packages spotapi 'git+https://github.com/TzurSoffer/spotify-downloader' && mkdir -p /deps && cd /deps && npm install express kuromoji && - cd /app && NODE_PATH=/deps/node_modules node novasonic-server.js + cd /app && PATH=/root/.deno/bin:$$PATH NODE_PATH=/deps/node_modules node novasonic-server.js " # ── Scrobble service (isolated timestamped play-log → stats + Wrapped) ────────