Merge branch 'master' into develop
This commit is contained in:
@ -61,29 +61,29 @@ workflows:
|
||||
- build:
|
||||
filters:
|
||||
branches:
|
||||
only: develop
|
||||
only: deploy/test
|
||||
- test:
|
||||
requires:
|
||||
- build
|
||||
filters:
|
||||
branches:
|
||||
only: develop
|
||||
only: deploy/test
|
||||
build_test_and_deploy:
|
||||
jobs:
|
||||
- build:
|
||||
filters:
|
||||
branches:
|
||||
only: master
|
||||
only: deploy/release
|
||||
- test:
|
||||
requires:
|
||||
- build
|
||||
filters:
|
||||
branches:
|
||||
only: master
|
||||
only: deploy/release
|
||||
- deploy:
|
||||
requires:
|
||||
- build
|
||||
- test
|
||||
filters:
|
||||
branches:
|
||||
only: master
|
||||
only: deploy/release
|
||||
1
.dockerignore
Normal file
1
.dockerignore
Normal file
@ -0,0 +1 @@
|
||||
node_modules
|
||||
74
Dockerfile
Normal file
74
Dockerfile
Normal file
@ -0,0 +1,74 @@
|
||||
FROM debian:stretch-slim
|
||||
|
||||
# Copy the current codebase
|
||||
COPY . /iris
|
||||
|
||||
RUN set -ex \
|
||||
# Official Mopidy install for Debian/Ubuntu along with some extensions
|
||||
# (see https://docs.mopidy.com/en/latest/installation/debian/ )
|
||||
&& apt-get update \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||
curl \
|
||||
dumb-init \
|
||||
gcc \
|
||||
gnupg \
|
||||
gstreamer1.0-alsa \
|
||||
gstreamer1.0-plugins-bad \
|
||||
python-crypto \
|
||||
git \
|
||||
&& curl -L https://apt.mopidy.com/mopidy.gpg | apt-key add - \
|
||||
&& curl -L https://apt.mopidy.com/mopidy.list -o /etc/apt/sources.list.d/mopidy.list \
|
||||
&& apt-get update \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||
mopidy \
|
||||
mopidy-soundcloud \
|
||||
mopidy-spotify \
|
||||
&& curl -L https://bootstrap.pypa.io/get-pip.py | python - \
|
||||
&& pip install -U six pyasn1 requests[security] cryptography \
|
||||
&& pip install \
|
||||
Mopidy-Moped \
|
||||
Mopidy-GMusic \
|
||||
Mopidy-Pandora \
|
||||
Mopidy-YouTube \
|
||||
pyopenssl \
|
||||
youtube-dl \
|
||||
# Clone Iris from repo and install in development (for hot-loading)
|
||||
#&& git clone https://github.com/jaedb/Iris.git /var/lib/mopidy/iris \
|
||||
&& cd /iris \
|
||||
&& python setup.py develop \
|
||||
&& cd / \
|
||||
&& mkdir -p /var/lib/mopidy/.config \
|
||||
&& ln -s /config /var/lib/mopidy/.config/mopidy \
|
||||
# Clean-up
|
||||
&& apt-get purge --auto-remove -y \
|
||||
curl \
|
||||
gcc \
|
||||
git \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* ~/.cache
|
||||
|
||||
# Start helper script.
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
|
||||
# Default configuration.
|
||||
COPY mopidy.conf /config/mopidy.conf
|
||||
|
||||
# Copy the pulse-client configuratrion.
|
||||
COPY pulse-client.conf /etc/pulse/client.conf
|
||||
|
||||
# Allows any user to run mopidy, but runs by default as a randomly generated UID/GID.
|
||||
ENV HOME=/var/lib/mopidy
|
||||
RUN set -ex \
|
||||
&& usermod -G audio,sudo mopidy \
|
||||
&& chown mopidy:audio -R $HOME /entrypoint.sh \
|
||||
&& chmod go+rwx -R $HOME /entrypoint.sh
|
||||
|
||||
# Runs as mopidy user by default.
|
||||
USER mopidy
|
||||
|
||||
VOLUME ["/var/lib/mopidy/local", "/var/lib/mopidy/media"]
|
||||
|
||||
EXPOSE 6600 6680 5555/udp
|
||||
|
||||
ENTRYPOINT ["/usr/bin/dumb-init", "/entrypoint.sh"]
|
||||
CMD ["/usr/bin/mopidy"]
|
||||
9
entrypoint.sh
Normal file
9
entrypoint.sh
Normal file
@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -z "$PULSE_COOKIE_DATA" ]
|
||||
then
|
||||
echo -ne $(echo $PULSE_COOKIE_DATA | sed -e 's/../\\x&/g') >$HOME/pulse.cookie
|
||||
export PULSE_COOKIE=$HOME/pulse.cookie
|
||||
fi
|
||||
|
||||
exec "$@"
|
||||
17
mopidy.conf
Normal file
17
mopidy.conf
Normal file
@ -0,0 +1,17 @@
|
||||
[core]
|
||||
data_dir = /var/lib/mopidy
|
||||
|
||||
[local]
|
||||
media_dir = /var/lib/mopidy/media
|
||||
|
||||
[audio]
|
||||
output = tee name=t ! queue ! autoaudiosink t. ! queue ! udpsink host=0.0.0.0 port=5555
|
||||
|
||||
[m3u]
|
||||
playlists_dir = /var/lib/mopidy/playlists
|
||||
|
||||
[http]
|
||||
hostname = 0.0.0.0
|
||||
|
||||
[mpd]
|
||||
hostname = 0.0.0.0
|
||||
9
pulse-client.conf
Normal file
9
pulse-client.conf
Normal file
@ -0,0 +1,9 @@
|
||||
# Connect to the host's server using the mounted UNIX socket
|
||||
default-server = unix:/run/user/105/pulse/native
|
||||
|
||||
# Prevent a server running in the container
|
||||
autospawn = no
|
||||
daemon-binary = /bin/true
|
||||
|
||||
# Prevent the use of shared memory
|
||||
enable-shm = false
|
||||
Reference in New Issue
Block a user