/
/
/
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"
22# END SMART FADES TEST LIBS
23
24# add some additional packages that are useful for debugging
25RUN set -x \
26 && apk update \
27 && apk add -f jq htop git && \
28 # pre-install base requirements to save a bit of startup time
29 uv venv $VIRTUAL_ENV && \
30 uv pip install \
31 --no-cache \
32 --link-mode=copy \
33 -r "https://raw.githubusercontent.com/music-assistant/server/refs/heads/dev/requirements_all.txt"
34
35VOLUME [ "/data", "/cache" ]
36EXPOSE 8095
37
38RUN chmod 777 -R /app && \
39 chmod 777 -R /tmp
40
41COPY entrypoint.sh /app/entrypoint.sh
42
43ENTRYPOINT ["/app/entrypoint.sh"]
44