diff --git a/Dockerfile b/Dockerfile index 1e3993f..74146cd 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 \ @@ -42,21 +43,19 @@ RUN \ libffi \ libpng \ mpg123 \ + mp3gain \ nano \ openjpeg \ python3 \ sqlite-libs && \ - 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 "**** 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 mp3val ****" && \ mkdir -p \ /tmp/mp3val-src && \ @@ -68,20 +67,21 @@ 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 \ - wheel && \ - pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.21/ \ + setuptools && \ + 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 \ flask \ + flask-cors \ PyGObject \ pyacoustid \ pylast \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 8ea6829..feb7b6c 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 \ @@ -30,7 +31,6 @@ RUN \ chromaprint \ expat \ ffmpeg \ - ffmpeg-libs \ fftw \ flac \ gdbm \ @@ -42,22 +42,19 @@ RUN \ lame \ libffi \ libpng \ + mp3gain \ mpg123 \ nano \ openjpeg \ python3 \ sqlite-libs && \ - 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 "**** 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 mp3val ****" && \ mkdir -p \ /tmp/mp3val-src && \ @@ -69,20 +66,21 @@ 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 \ - wheel && \ - pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.21/ \ + setuptools && \ + 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 \ flask \ + flask-cors \ PyGObject \ pyacoustid \ pylast \ 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