/
/
/
1# syntax=docker/dockerfile:1
2#
3# DEV MASS image: base image + MASS installed from prebuilt wheel
4#
5#FROM ghcr.io/music-assistant/base:latest
6FROM ghcr.io/music-assistant/base:1.3.1
7
8ENV VIRTUAL_ENV=/app/venv
9ENV PATH="$VIRTUAL_ENV/bin:$PATH"
10
11# ensure UV is installed
12COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
13
14# add some additional packages that are useful for debugging
15RUN set -x \
16 && apk update \
17 && apk add -f jq htop git && \
18 # pre-install base requirements to save a bit of startup time
19 uv venv $VIRTUAL_ENV && \
20 uv pip install \
21 --no-cache \
22 --link-mode=copy \
23 -r "https://raw.githubusercontent.com/music-assistant/server/refs/heads/dev/requirements_all.txt" \
24 # pre-install librosa (for smart fades) to avoid runtime build issues
25 # TODO: Move this to base image before beta release
26 # && export LLVM_CONFIG="/usr/bin/llvm-config-15" \
27 # && export CC=gcc \
28 # && export CXX=g++ \
29 # && uv pip install \
30 # --no-cache \
31 # --link-mode=copy \
32 # "librosa>=0.11.0" "llvmlite<0.45.0"
33
34VOLUME [ "/data", "/cache" ]
35EXPOSE 8095
36
37RUN chmod 777 -R /app && \
38 chmod 777 -R /tmp
39
40COPY entrypoint.sh /app/entrypoint.sh
41
42ENTRYPOINT ["/app/entrypoint.sh"]
43