From 249cfd1e42eb9ffc5d39bdcaa903e42f0140f892 Mon Sep 17 00:00:00 2001 From: Jonathan Sykes Date: Sun, 18 Oct 2026 17:59:54 +0800 Subject: [PATCH] Docker image: enable non-free for fdkaac's library --- CLAUDE.md | 2 +- Dockerfile | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index c5ebdd2..45298bd 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -133,7 +133,7 @@ JSON shapes mirror the Tauri Rust bridge exactly — don't change one side alone send `?still=1` → the device stores `.m4a` + OPFS `art/.jpg` and plays it as audio with the picture; online, still songs also play audio + `/api/media/:id/art`. - **Compact audio (HE-AAC)**: `..he.m4a`, ~48 kbps HE-AAC v1 from **fdkaac** - (Debian contrib — ffmpeg's encoder is LC only), one niced lane, made for every copy and + (Debian contrib + non-free — ffmpeg's encoder is LC only), one niced lane, made for every copy and moved to the front when a device asks (`prepare?audio=he` → `working` until ready). Columns `he_size` (NULL = not made, 0 = failed/not smaller) + `he_sha256`. Devices ask for it with Settings → "Save songs as compact audio" or Saved videos → Shrink diff --git a/Dockerfile b/Dockerfile index e8f5fe8..7a56c2a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,9 +16,10 @@ FROM oven/bun:1-debian # ca-certificates for HTTPS fetches from yt-dlp # ffmpeg lets yt-dlp merge bestvideo+bestaudio into a single mp4 for the # "Save before playing" download path (GET /api/download?mux=1) -# fdkaac (Debian contrib) encodes the compact HE-AAC audio phones can save; +# fdkaac (Debian contrib; its libfdk-aac2t64 is non-free) encodes the compact +# HE-AAC audio phones can save; # ffmpeg's built-in AAC encoder only does AAC-LC. -RUN sed -i 's/^Components: main$/Components: main contrib/' /etc/apt/sources.list.d/debian.sources && \ +RUN sed -i 's/^Components: main$/Components: main contrib non-free/' /etc/apt/sources.list.d/debian.sources && \ apt-get update -qq && \ apt-get install -y --no-install-recommends \ curl \