From 87eb769e1db4bfc10b7f4f593315b70ca323b878 Mon Sep 17 00:00:00 2001 From: thespad Date: Sun, 1 Feb 2026 17:49:53 +0000 Subject: [PATCH 1/5] Rebase to 3.23 --- Dockerfile | 5 +++-- Dockerfile.aarch64 | 3 ++- readme-vars.yml | 1 + root/defaults/config.yaml | 9 +++++---- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index 1e3993f..91bc9db 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1 -FROM ghcr.io/linuxserver/baseimage-alpine:3.21 +FROM ghcr.io/linuxserver/baseimage-alpine:3.23 # set version label ARG BUILD_DATE @@ -21,6 +21,7 @@ RUN \ git \ gobject-introspection-dev \ jpeg-dev \ + libedit-dev \ libpng-dev \ mpg123-dev \ openjpeg-dev \ @@ -75,7 +76,7 @@ RUN \ pip install -U --no-cache-dir \ pip \ wheel && \ - pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.21/ \ + pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.23/ \ beautifulsoup4 \ beets==${BEETS_VERSION} \ beets-extrafiles \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 8ea6829..b2ac6f8 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1 -FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.21 +FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.23 # set version label ARG BUILD_DATE @@ -21,6 +21,7 @@ RUN \ git \ gobject-introspection-dev \ jpeg-dev \ + libedit-dev libpng-dev \ mpg123-dev \ openjpeg-dev \ diff --git a/readme-vars.yml b/readme-vars.yml index f41b285..3b6d9af 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -83,6 +83,7 @@ init_diagram: | "beets:latest" <- Base Images # changelog changelogs: + - {date: "01.02.26:", desc: "Rebase to Alpine 3.23."} - {date: "27.01.25:", desc: "Rebase to Alpine 3.21."} - {date: "01.10.24:", desc: "Add packages required for Discogs plugin."} - {date: "28.08.24:", desc: "Rebase to Alpine 3.20, switch from Pillow to Imagemagick."} diff --git a/root/defaults/config.yaml b/root/defaults/config.yaml index 00ee525..93cc578 100644 --- a/root/defaults/config.yaml +++ b/root/defaults/config.yaml @@ -12,13 +12,13 @@ convert: opts: -ab 320k -ac 2 -ar 48000 max_bitrate: 320 threads: 1 - + paths: default: $albumartist/$album%aunique{}/$track - $title singleton: Non-Album/$artist - $title comp: Compilations/$album%aunique{}/$track - $title - albumtype_soundtrack: Soundtracks/$album/$track $title - + albumtype_soundtrack: Soundtracks/$album/$track $title + import: write: yes copy: yes @@ -38,9 +38,10 @@ embedart: fetchart: auto: yes - + replaygain: auto: no + command: mp3gain scrub: auto: yes From f2975e51ae5e9e0cb5941efb0f45b7dd783550ae Mon Sep 17 00:00:00 2001 From: thespad Date: Sun, 1 Feb 2026 17:52:49 +0000 Subject: [PATCH 2/5] Fix missing line continuation --- Dockerfile.aarch64 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index b2ac6f8..30c92e9 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -21,7 +21,7 @@ RUN \ git \ gobject-introspection-dev \ jpeg-dev \ - libedit-dev + libedit-dev \ libpng-dev \ mpg123-dev \ openjpeg-dev \ From cb16f6316e89ed8ed1a3614b2d77cc6236b08223 Mon Sep 17 00:00:00 2001 From: thespad Date: Sun, 1 Feb 2026 19:20:01 +0000 Subject: [PATCH 3/5] Build from source to avoid pypi llvm dep issues --- Dockerfile | 17 +++++++++++++---- Dockerfile.aarch64 | 19 +++++++++++++------ 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/Dockerfile b/Dockerfile index 91bc9db..75308fa 100644 --- a/Dockerfile +++ b/Dockerfile @@ -47,6 +47,14 @@ RUN \ openjpeg \ python3 \ sqlite-libs && \ + echo "**** install beets ****" && \ + echo "**** install pip packages ****" && \ + if [ -z ${BEETS_VERSION+x} ]; then \ + BEETS_VERSION=$(curl -sL https://pypi.python.org/pypi/beets/json |jq -r '. | .info.version'); \ + fi && \ + git clone https://github.com/beetbox/beets.git /tmp/beets && \ + cd /tmp/beets && \ + git checkout -f "v${BEETS_VERSION}" && \ echo "**** compile mp3gain ****" && \ mkdir -p \ /tmp/mp3gain-src && \ @@ -69,16 +77,17 @@ RUN \ make -f Makefile.linux && \ cp -p mp3val /usr/bin && \ echo "**** install pip packages ****" && \ - if [ -z ${BEETS_VERSION+x} ]; then \ - BEETS_VERSION=$(curl -sL https://pypi.python.org/pypi/beets/json |jq -r '. | .info.version'); \ - fi && \ python3 -m venv /lsiopy && \ pip install -U --no-cache-dir \ pip \ + setuptools \ wheel && \ + echo "**** install beets ****" && \ + cd /tmp/beets && \ + pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.23/ . && \ + echo "**** install pip packages ****" && \ pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.23/ \ beautifulsoup4 \ - beets==${BEETS_VERSION} \ beets-extrafiles \ beetcamp \ python3-discogs-client \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 30c92e9..6cc984d 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -31,7 +31,6 @@ RUN \ chromaprint \ expat \ ffmpeg \ - ffmpeg-libs \ fftw \ flac \ gdbm \ @@ -48,6 +47,13 @@ RUN \ openjpeg \ python3 \ sqlite-libs && \ + echo "**** install beets ****" && \ + if [ -z ${BEETS_VERSION+x} ]; then \ + BEETS_VERSION=$(curl -sL https://pypi.python.org/pypi/beets/json |jq -r '. | .info.version'); \ + fi && \ + git clone https://github.com/beetbox/beets.git /tmp/beets && \ + cd /tmp/beets && \ + git checkout -f "v${BEETS_VERSION}" && \ echo "**** compile mp3gain ****" && \ mkdir -p \ /tmp/mp3gain-src && \ @@ -70,16 +76,17 @@ RUN \ make -f Makefile.linux && \ cp -p mp3val /usr/bin && \ echo "**** install pip packages ****" && \ - if [ -z ${BEETS_VERSION+x} ]; then \ - BEETS_VERSION=$(curl -sL https://pypi.python.org/pypi/beets/json |jq -r '. | .info.version'); \ - fi && \ python3 -m venv /lsiopy && \ pip install -U --no-cache-dir \ pip \ + setuptools \ wheel && \ - pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.21/ \ + echo "**** install beets ****" && \ + cd /tmp/beets && \ + pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.23/ . && \ + echo "**** install pip packages ****" && \ + pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.23/ \ beautifulsoup4 \ - beets==${BEETS_VERSION} \ beets-extrafiles \ beetcamp \ python3-discogs-client \ From 50aada7ee8bbca667e37a964a261c9d8a2708703 Mon Sep 17 00:00:00 2001 From: thespad Date: Sun, 1 Feb 2026 19:26:58 +0000 Subject: [PATCH 4/5] Install mp3gain from Alpine repos --- Dockerfile | 12 +----------- Dockerfile.aarch64 | 12 +----------- 2 files changed, 2 insertions(+), 22 deletions(-) diff --git a/Dockerfile b/Dockerfile index 75308fa..ab7f0ec 100644 --- a/Dockerfile +++ b/Dockerfile @@ -43,6 +43,7 @@ RUN \ libffi \ libpng \ mpg123 \ + mp3gain \ nano \ openjpeg \ python3 \ @@ -55,17 +56,6 @@ RUN \ git clone https://github.com/beetbox/beets.git /tmp/beets && \ cd /tmp/beets && \ git checkout -f "v${BEETS_VERSION}" && \ - echo "**** compile mp3gain ****" && \ - mkdir -p \ - /tmp/mp3gain-src && \ - curl -o \ - /tmp/mp3gain-src/mp3gain.zip -sL \ - https://sourceforge.net/projects/mp3gain/files/mp3gain/1.6.2/mp3gain-1_6_2-src.zip && \ - cd /tmp/mp3gain-src && \ - unzip -qq /tmp/mp3gain-src/mp3gain.zip && \ - sed -i "s#/usr/local/bin#/usr/bin#g" /tmp/mp3gain-src/Makefile && \ - make && \ - make install && \ echo "**** compile mp3val ****" && \ mkdir -p \ /tmp/mp3val-src && \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 6cc984d..981edcd 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -42,6 +42,7 @@ RUN \ lame \ libffi \ libpng \ + mp3gain \ mpg123 \ nano \ openjpeg \ @@ -54,17 +55,6 @@ RUN \ git clone https://github.com/beetbox/beets.git /tmp/beets && \ cd /tmp/beets && \ git checkout -f "v${BEETS_VERSION}" && \ - echo "**** compile mp3gain ****" && \ - mkdir -p \ - /tmp/mp3gain-src && \ - curl -o \ - /tmp/mp3gain-src/mp3gain.zip -sL \ - https://sourceforge.net/projects/mp3gain/files/mp3gain/1.6.2/mp3gain-1_6_2-src.zip && \ - cd /tmp/mp3gain-src && \ - unzip -qq /tmp/mp3gain-src/mp3gain.zip && \ - sed -i "s#/usr/local/bin#/usr/bin#g" /tmp/mp3gain-src/Makefile && \ - make && \ - make install && \ echo "**** compile mp3val ****" && \ mkdir -p \ /tmp/mp3val-src && \ From 98b3d372dbc3f672ba798a667bb7bcf529fa6cae Mon Sep 17 00:00:00 2001 From: thespad Date: Sun, 1 Feb 2026 19:57:06 +0000 Subject: [PATCH 5/5] Add flask-cors per #135 --- Dockerfile | 4 ++-- Dockerfile.aarch64 | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index ab7f0ec..74146cd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -70,8 +70,7 @@ RUN \ python3 -m venv /lsiopy && \ pip install -U --no-cache-dir \ pip \ - setuptools \ - wheel && \ + setuptools && \ echo "**** install beets ****" && \ cd /tmp/beets && \ pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.23/ . && \ @@ -82,6 +81,7 @@ RUN \ beetcamp \ python3-discogs-client \ flask \ + flask-cors \ PyGObject \ pyacoustid \ pylast \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 981edcd..feb7b6c 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -69,8 +69,7 @@ RUN \ python3 -m venv /lsiopy && \ pip install -U --no-cache-dir \ pip \ - setuptools \ - wheel && \ + setuptools && \ echo "**** install beets ****" && \ cd /tmp/beets && \ pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.23/ . && \ @@ -81,6 +80,7 @@ RUN \ beetcamp \ python3-discogs-client \ flask \ + flask-cors \ PyGObject \ pyacoustid \ pylast \