Initial commit
This commit is contained in:
4
.dockerignore
Normal file
4
.dockerignore
Normal file
@ -0,0 +1,4 @@
|
||||
music
|
||||
config
|
||||
.git
|
||||
docker-compose.yml
|
||||
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
config/mopidy.conf
|
||||
music
|
||||
44
Dockerfile
Normal file
44
Dockerfile
Normal file
@ -0,0 +1,44 @@
|
||||
FROM debian:trixie-slim
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive \
|
||||
HOME=/var/lib/mopidy \
|
||||
PIP_DISABLE_PIP_VERSION_CHECK=1 \
|
||||
PYTHONUNBUFFERED=1
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends ca-certificates wget \
|
||||
&& mkdir -p /etc/apt/keyrings \
|
||||
&& wget -q -O /etc/apt/keyrings/mopidy-archive-keyring.gpg \
|
||||
https://apt.mopidy.com/mopidy-archive-keyring.gpg \
|
||||
&& wget -q -O /etc/apt/sources.list.d/mopidy.sources \
|
||||
https://apt.mopidy.com/trixie.sources \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
gstreamer1.0-plugins-base \
|
||||
gstreamer1.0-plugins-good \
|
||||
gstreamer1.0-plugins-ugly \
|
||||
gstreamer1.0-tools \
|
||||
mopidy \
|
||||
mopidy-mpd \
|
||||
mopidy-spotify \
|
||||
python3-pip \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Mopidy-Iris: latest release supplies the prebuilt frontend, then overlay the
|
||||
# develop branch's Python modules for Mopidy 4 support (jaedb/Iris#1003).
|
||||
RUN python3 -m pip install --break-system-packages --no-cache-dir Mopidy-Iris==3.70.0 \
|
||||
&& wget -qO /tmp/iris-develop.tar.gz \
|
||||
https://github.com/jaedb/Iris/archive/83770dddb388b8699df414f47f8c80e33d75720d.tar.gz \
|
||||
&& tar -xzf /tmp/iris-develop.tar.gz -C /tmp \
|
||||
&& cp /tmp/Iris-83770dddb388b8699df414f47f8c80e33d75720d/mopidy_iris/*.py \
|
||||
"$(python3 -c 'import os, mopidy_iris; print(os.path.dirname(mopidy_iris.__file__))')" \
|
||||
&& rm -rf /tmp/Iris-83770dddb388b8699df414f47f8c80e33d75720d /tmp/iris-develop.tar.gz
|
||||
|
||||
RUN mkdir -p /var/lib/mopidy/media /var/lib/mopidy/playlists /var/cache/mopidy \
|
||||
&& chown -R mopidy:audio /var/lib/mopidy /var/cache/mopidy
|
||||
|
||||
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
|
||||
RUN chmod 755 /usr/local/bin/docker-entrypoint.sh
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
|
||||
CMD ["mopidy"]
|
||||
21
docker-compose.yml
Normal file
21
docker-compose.yml
Normal file
@ -0,0 +1,21 @@
|
||||
services:
|
||||
mopidy:
|
||||
build: .
|
||||
image: mopidy:4
|
||||
container_name: mopidy
|
||||
restart: unless-stopped
|
||||
init: true
|
||||
environment:
|
||||
EXTRA_PIP_PACKAGES: "https://code.lab.unbl.ink/secstate/mopidy-webhooks/archive/0.2.3.zip Mopidy-Muse mopidy-bandcamp mopidy-party mopidy-soundcloud mopidy-api-explorer setuptools<81"
|
||||
volumes:
|
||||
- ./config/mopidy.conf:/etc/mopidy/mopidy.conf:ro
|
||||
- ./music:/var/lib/mopidy/media:ro
|
||||
- mopidy-data:/var/lib/mopidy
|
||||
- mopidy-cache:/var/cache/mopidy
|
||||
ports:
|
||||
- "6602:6600"
|
||||
- "6682:6680"
|
||||
|
||||
volumes:
|
||||
mopidy-data:
|
||||
mopidy-cache:
|
||||
16
docker-entrypoint.sh
Normal file
16
docker-entrypoint.sh
Normal file
@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
if [ "$(id -u)" = "0" ]; then
|
||||
if [ -n "${EXTRA_PIP_PACKAGES:-}" ]; then
|
||||
packages=$(printf '%s' "${EXTRA_PIP_PACKAGES}" | tr ',' ' ')
|
||||
echo "Installing extra pip packages: ${packages}"
|
||||
python3 -m pip install --break-system-packages --no-cache-dir ${packages}
|
||||
fi
|
||||
|
||||
if [ -z "${RUN_AS_ROOT:-}" ]; then
|
||||
exec setpriv --reuid=mopidy --regid=audio --init-groups "$@"
|
||||
fi
|
||||
fi
|
||||
|
||||
exec "$@"
|
||||
Reference in New Issue
Block a user