forked from music-assistant/server
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Dockerfile
50 lines (40 loc) · 1.63 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# syntax=docker/dockerfile:1
# FINAL docker image for music assistant server
# This image is based on the base image and installs
# the music assistant server from our built wheel on top.
ARG BASE_IMAGE_VERSION=latest
FROM ghcr.io/music-assistant/base:$BASE_IMAGE_VERSION
ARG MASS_VERSION
ARG TARGETPLATFORM
ADD dist dist
# pre-install ALL requirements
# comes at a cost of a slightly larger image size but is faster to start
# because we do not have to install dependencies at runtime
COPY requirements_all.txt .
RUN uv pip install \
--no-cache \
--find-links "https://wheels.home-assistant.io/musllinux/" \
-r requirements_all.txt
# Install Music Assistant from prebuilt wheel
RUN uv pip install \
--no-cache \
--find-links "https://wheels.home-assistant.io/musllinux/" \
"music-assistant@dist/music_assistant-${MASS_VERSION}-py3-none-any.whl"
# Set some labels
LABEL \
org.opencontainers.image.title="Music Assistant Server" \
org.opencontainers.image.description="Music Assistant Server/Core" \
org.opencontainers.image.source="https://github.com/music-assistant/server" \
org.opencontainers.image.authors="The Music Assistant Team" \
org.opencontainers.image.documentation="https://github.com/orgs/music-assistant/discussions" \
org.opencontainers.image.licenses="Apache License 2.0" \
io.hass.version="${MASS_VERSION}" \
io.hass.type="addon" \
io.hass.name="Music Assistant Server" \
io.hass.description="Music Assistant Server/Core" \
io.hass.platform="${TARGETPLATFORM}" \
io.hass.type="addon"
RUN rm -rf dist
VOLUME [ "/data" ]
EXPOSE 8095
ENTRYPOINT ["mass", "--config", "/data"]