-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile-plugins
43 lines (38 loc) · 1.27 KB
/
Dockerfile-plugins
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
ARG BASEIMAGE
FROM ghcr.io/mgoltzsche/essentia:0.1.0 AS essentia
FROM $BASEIMAGE
USER root:root
# Install essentia
RUN apk add --update --no-cache qt5-qtbase yaml fftw taglib libsamplerate \
ffmpeg4 ffmpeg4-libavcodec ffmpeg4-libavformat ffmpeg4-libavutil \
ffmpeg4-libswresample \
chromaprint
COPY --from=essentia /usr/local/bin/essentia_streaming_extractor_music /usr/local/bin/
COPY --from=essentia /var/lib/essentia/svm-models/beta5 /var/lib/essentia/svm-models/beta5
# Install beets plugins
RUN apk add --update --no-cache ffmpeg mpv bash jq recode
# yt-dlp==2023.11.16 + like_count fix
RUN set -eux; \
BUILD_DEPS='git cargo g++ openblas-dev'; \
apk add --update --no-cache $BUILD_DEPS; \
python3 -m pip install \
pylast==5.2.0 \
pyacoustid==1.3.0 \
python3-discogs-client==2.7 \
python-mpd2==3.1.0 \
beets-xtractor==0.4.1 \
beets-describe==0.0.4 \
beets-ytimport==1.9.0 \
beets-autogenre==0.5.1 \
ytmusicapi==1.7.5 \
yt-dlp==2024.08.06; \
apk del --purge $BUILD_DEPS
ENV BEETSDIR=/data/beets \
EDITOR=vi
COPY play-playlist.sh /usr/local/bin/play-playlist
COPY config.yaml /etc/beets/default-config.yaml
COPY genre-tree.yaml /etc/beets/
COPY genres.txt /etc/beets/default-genres.txt
COPY entrypoint-plugins.sh /entrypoint.d/10-plugins.sh
USER beets:beets
CMD ["sh"]