ARG alpine_version=3.13 FROM alpine:$alpine_version # retrive alpine_version from before FROM ARG alpine_version ARG puid=1000 ARG pgid=1000 ARG audio_gid=29 # This is an archive and isn't updated any more ARG spotify_version=12.1.51-Linux-x86_64 WORKDIR /mopidy RUN \ echo "* Updating Package Repositories" \ && echo "http://dl-cdn.alpinelinux.org/alpine/v${alpine_version}/main" >> /etc/apk/repositories \ && echo "http://dl-cdn.alpinelinux.org/alpine/v${alpine_version}/community" >> /etc/apk/repositories \ && apk upgrade --no-cache \ && echo "* Installing Runtime Packages" \ && apk add -U --no-cache \ coreutils \ build-base \ rust \ cargo \ su-exec \ libxml2-dev \ libxslt-dev \ libffi-dev \ openssl-dev \ python3-dev \ py3-pip \ py3-wheel \ libcdio \ libcaca \ libvpx \ v4l-utils-libs \ py3-crypto \ py3-gst \ py3-gobject3 \ mailcap \ icecast \ gstreamer \ gstreamer-tools \ gst-plugins-base \ gst-plugins-good \ gst-plugins-ugly \ && pip3 install -U \ pyopenssl \ youtube-dl \ pyasn1 \ && wget -c https://mopidy.github.io/libspotify-archive/libspotify-${spotify_version}-release.tar.gz -O - | tar -xzC /tmp \ && make install -C /tmp/libspotify-${spotify_version}-release prefix=/usr/local || true \ && echo "* Installing Mopidy + Extensions" \ && pip3 install -U \ Mopidy \ Mopidy-Bandcamp \ Mopidy-GMusic \ Mopidy-Iris \ Mopidy-Local \ Mopidy-MPD \ Mopidy-Spotify-Web \ Mopidy-SoundCloud \ && echo "* Creating Mopidy User" \ && addgroup -g ${pgid} mopidy \ && adduser -h /mopidy -s /bin/sh -D -G mopidy -u $puid mopidy \ && delgroup audio \ && addgroup -g ${audio_gid} audio \ && addgroup mopidy audio \ && echo "mopidy ALL=NOPASSWD: /usr/local/lib/pyenv/versions/*/lib/python*/site-packages/mopidy_iris/system.sh" >> /etc/sudoers \ && echo "* Cleaning up" \ && rm -rf /var/cache/apk/* \ && rm -rf /tmp/* \ && echo "* Ready to start Mopidy" \ && sleep 1 COPY root/ / RUN chmod +x /usr/local/bin/run.sh RUN chmod +x /usr/local/bin/entrypoint.sh EXPOSE 6600 6680 8000 VOLUME /data /music LABEL description "Open source media server" ENTRYPOINT ["entrypoint.sh"] CMD ["run.sh"]