/
/
/
1# syntax=docker/dockerfile:1
2#
3# DEV MASS image: base image + MASS installed from prebuilt wheel
4#
5FROM ghcr.io/music-assistant/base:1.4.8
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 && apt-get update \
16 && apt-get install -y --no-install-recommends jq htop git curl ca-certificates gnupg libportaudio2 libasound2-plugins dbus && \
17 # Install Node.js 20.x from NodeSource
18 mkdir -p /etc/apt/keyrings && \
19 curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \
20 echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && \
21 apt-get update && \
22 apt-get install -y --no-install-recommends nodejs && \
23 npm install -g yarn && \
24 apt-get clean && \
25 rm -rf /var/lib/apt/lists/* && \
26 # pre-install base requirements to save a bit of startup time
27 uv venv $VIRTUAL_ENV && \
28 uv pip install \
29 --no-cache \
30 --link-mode=copy \
31 -r "https://raw.githubusercontent.com/music-assistant/server/refs/heads/dev/requirements_all.txt"
32
33VOLUME [ "/data" ]
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