/
/
/
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# add some additional packages that are useful for debugging
14RUN set -x \
15 && apk update \
16 && apk add -f jq htop git && \
17 # pre-install base requirements to save a bit of startup time
18 uv venv $VIRTUAL_ENV && \
19 uv pip install \
20 --no-cache \
21 --link-mode=copy \
22 -r "https://raw.githubusercontent.com/music-assistant/server/refs/heads/dev/requirements_all.txt" \
23 # pre-install librosa (for smart fades) to avoid runtime build issues
24 # TODO: Move this to base image before beta release
25 && export LLVM_CONFIG="/usr/bin/llvm-config-15" \
26 && export CC=gcc \
27 && export CXX=g++ \
28 && uv pip install \
29 --no-cache \
30 --link-mode=copy \
31 "librosa>=0.11.0"
32
33VOLUME [ "/data", "/cache" ]
34EXPOSE 8095
35
36RUN chmod 777 -R /app && \
37 chmod 777 -R /tmp
38
39COPY entrypoint.sh /app/entrypoint.sh
40
41ENTRYPOINT ["/app/entrypoint.sh"]
42