FROM alpine:3.12
+ARG JEMALLOC_VERSION=5.2.1
WORKDIR /usr/src/
+COPY . .
# Install packages
RUN set -x \
&& apk update \
&& echo "http://dl-8.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories \
&& echo "http://dl-8.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \
- # default packages
+ # install default packages
&& apk add --no-cache \
tzdata \
ca-certificates \
py3-zeroconf \
py3-pytaglib \
py3-pip \
- # build packages
+ # install (temp) build packages
&& apk add --no-cache --virtual .build-deps \
build-base \
python3-dev \
tiff-dev \
tk-dev \
zlib-dev \
- libuv-dev
-
-# setup jmalloc
-ARG JEMALLOC_VERSION=5.2.1
-RUN curl -L -f -s "https://github.com/jemalloc/jemalloc/releases/download/${JEMALLOC_VERSION}/jemalloc-${JEMALLOC_VERSION}.tar.bz2" \
- | tar -xjf - -C /usr/src \
- && cd /usr/src/jemalloc-${JEMALLOC_VERSION} \
- && ./configure \
- && make \
- && make install
-
-# install uvloop and music assistant
-WORKDIR /usr/src/
-COPY . .
-RUN pip install --upgrade uvloop \
- && python3 setup.py install
-
-# cleanup build files
-RUN apk del .build-deps \
- && rm -rf /usr/src/*
+ libuv-dev \
+ # setup jmalloc
+ && curl -L -f -s "https://github.com/jemalloc/jemalloc/releases/download/${JEMALLOC_VERSION}/jemalloc-${JEMALLOC_VERSION}.tar.bz2" \
+ | tar -xjf - -C /usr/src \
+ && cd /usr/src/jemalloc-${JEMALLOC_VERSION} \
+ && ./configure \
+ && make \
+ && make install \
+ # make sure uvloop is installed
+ && pip install uvloop \
+ # install music assistant
+ && pip install --upgrade uvloop \
+ && cd /usr/src \
+ && python3 setup.py install \
+ # cleanup build files
+ && apk del .build-deps \
+ && rm -rf /usr/src/*
ENV DEBUG=false
EXPOSE 8095/tcp