forked from music-assistant/server
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDockerfile.base
42 lines (34 loc) · 1.57 KB
/
Dockerfile.base
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
# syntax=docker/dockerfile:1
# BASE docker image for music assistant container
# This image forms the base for the final image and is not meant to be used directly
# NOTE that the dev add-on is also based on this base image
FROM python:3.12-alpine3.21
RUN set -x \
&& apk add --no-cache \
ca-certificates \
jemalloc \
tzdata \
# cifs utils and libnfs are needed for smb and nfs support (file provider)
cifs-utils \
libnfs \
# openssl-dev is needed for airplay
openssl-dev \
# install snapcast so the snapcast provider can run the builtin snapcast server
snapcast
# Get static ffmpeg builds from https://hub.docker.com/r/mwader/static-ffmpeg/
COPY --from=mwader/static-ffmpeg:7.1 /ffmpeg /usr/local/bin/
COPY --from=mwader/static-ffmpeg:7.1 /ffprobe /usr/local/bin/
# Copy widevine client files to container
RUN mkdir -p /usr/local/bin/widevine_cdm
COPY widevine_cdm/* /usr/local/bin/widevine_cdm/
# JEMalloc for more efficient memory management
ENV LD_PRELOAD="/usr/lib/libjemalloc.so.2"
# we need to set (very permissive) permissions to the workdir
# and /tmp to allow running the container as non-root
RUN chmod -R 777 /tmp
LABEL \
org.opencontainers.image.title="Music Assistant Base Image" \
org.opencontainers.image.description="Base Image for Music Assistant server - not to be used directly" \
org.opencontainers.image.source="https://github.com/music-assistant/server" \
org.opencontainers.image.authors="The Music Assistant Team" \
org.opencontainers.image.licenses="Apache License 2.0"