/
/
/
1# syntax=docker/dockerfile:1
2#
3# DEV MASS image: base image + MASS installed from prebuilt wheel
4#
5FROM ghcr.io/music-assistant/base:latest
6
7ENV VIRTUAL_ENV=/app/venv
8ENV PATH="$VIRTUAL_ENV/bin:$PATH"
9
10# ensure UV is installed
11COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
12
13# Librosa test for Smart Fades. TODO: REMOVE
14RUN set -x \
15 && apk add --no-cache \
16 # build tools and llvm support needed for librosa/numba/llvmlite (smartfades)
17 build-base \
18 llvm15-dev \
19 # libsndfile needed for librosa audio file support (smartfades)
20 libsndfile-dev
21ENV LLVM_CONFIG="/usr/bin/llvm-config-15"
22RUN which llvm-config-15 && llvm-config-15 --version
23# END SMART FADES TEST LIBS
24
25# add some additional packages that are useful for debugging
26RUN set -x \
27 && apk update \
28 && apk add -f jq htop git && \
29 # pre-install base requirements to save a bit of startup time
30 uv venv $VIRTUAL_ENV && \
31 uv pip install \
32 --no-cache \
33 --link-mode=copy \
34 -r "https://raw.githubusercontent.com/music-assistant/server/refs/heads/dev/requirements_all.txt"
35
36VOLUME [ "/data", "/cache" ]
37EXPOSE 8095
38
39RUN chmod 777 -R /app && \
40 chmod 777 -R /tmp
41
42COPY entrypoint.sh /app/entrypoint.sh
43
44ENTRYPOINT ["/app/entrypoint.sh"]
45