Bump
This commit is contained in:
17
Dockerfile
17
Dockerfile
@@ -8,9 +8,8 @@ WORKDIR /mopidy
|
|||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
echo "* Updating Package Repositories" \
|
echo "* Updating Package Repositories" \
|
||||||
&& echo 'http://dl-cdn.alpinelinux.org/alpine/edge/main' >> /etc/apk/repositories \
|
&& echo 'http://dl-cdn.alpinelinux.org/alpine/v3.9/main' >> /etc/apk/repositories \
|
||||||
&& echo 'http://dl-cdn.alpinelinux.org/alpine/edge/community' >> /etc/apk/repositories \
|
&& echo 'http://dl-cdn.alpinelinux.org/alpine/v3.9/community' >> /etc/apk/repositories \
|
||||||
&& echo 'http://dl-cdn.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories \
|
|
||||||
&& apk upgrade --no-cache \
|
&& apk upgrade --no-cache \
|
||||||
&& pip install --upgrade pip \
|
&& pip install --upgrade pip \
|
||||||
&& echo "* Installing Runtime Packages" \
|
&& echo "* Installing Runtime Packages" \
|
||||||
@@ -31,8 +30,8 @@ RUN \
|
|||||||
py-gobject \
|
py-gobject \
|
||||||
mailcap \
|
mailcap \
|
||||||
icecast \
|
icecast \
|
||||||
snapcast-server \
|
|
||||||
gstreamer \
|
gstreamer \
|
||||||
|
gstreamer-tools \
|
||||||
gst-plugins-base \
|
gst-plugins-base \
|
||||||
gst-plugins-good \
|
gst-plugins-good \
|
||||||
gst-plugins-ugly \
|
gst-plugins-ugly \
|
||||||
@@ -56,12 +55,6 @@ RUN \
|
|||||||
&& adduser -h /mopidy -s /bin/sh -D -G mopidy -u ${PUID} mopidy \
|
&& adduser -h /mopidy -s /bin/sh -D -G mopidy -u ${PUID} mopidy \
|
||||||
&& echo "mopidy ALL=NOPASSWD: /usr/local/lib/pyenv/versions/2.7.16/lib/python2.7/site-packages/mopidy_iris/system.sh" >> /etc/sudoers \
|
&& echo "mopidy ALL=NOPASSWD: /usr/local/lib/pyenv/versions/2.7.16/lib/python2.7/site-packages/mopidy_iris/system.sh" >> /etc/sudoers \
|
||||||
&& echo "* Cleaning up" \
|
&& echo "* Cleaning up" \
|
||||||
&& apk --purge del \
|
|
||||||
libxml2-dev \
|
|
||||||
libxslt-dev \
|
|
||||||
libffi-dev \
|
|
||||||
openssl-dev \
|
|
||||||
python2-dev \
|
|
||||||
&& rm -rf /var/cache/apk/* \
|
&& rm -rf /var/cache/apk/* \
|
||||||
&& rm -rf /tmp/* \
|
&& rm -rf /tmp/* \
|
||||||
&& echo "* Ready to start Mopidy" \
|
&& echo "* Ready to start Mopidy" \
|
||||||
@@ -70,8 +63,8 @@ RUN \
|
|||||||
COPY root/ /
|
COPY root/ /
|
||||||
RUN chmod +x /usr/local/bin/run.sh
|
RUN chmod +x /usr/local/bin/run.sh
|
||||||
RUN chmod +x /usr/local/bin/entrypoint.sh
|
RUN chmod +x /usr/local/bin/entrypoint.sh
|
||||||
EXPOSE 1704 1705 6600 6680 8000
|
EXPOSE 6600 6680 8000
|
||||||
VOLUME /data /music /playlists
|
VOLUME /data /music
|
||||||
|
|
||||||
LABEL description "Open source media server"
|
LABEL description "Open source media server"
|
||||||
|
|
||||||
|
|||||||
@@ -13,10 +13,9 @@ $ docker run -d \
|
|||||||
--name=<container name> \
|
--name=<container name> \
|
||||||
-p 6600:6600 \
|
-p 6600:6600 \
|
||||||
-p 6680:6680 \
|
-p 6680:6680 \
|
||||||
-p 5555:5555/udp \
|
-p 8000:8000 \
|
||||||
-v <path for data files>:/data \
|
-v <path for data files>:/data \
|
||||||
-v <path for music files>:/music \
|
-v <path for music files>:/music \
|
||||||
-v <path for playlist files>:/playlists \
|
|
||||||
log1x/mopidy-iris
|
log1x/mopidy-iris
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -1,25 +1,34 @@
|
|||||||
<icecast>
|
<icecast>
|
||||||
<hostname>icecast.local</hostname>
|
<hostname>localhost</hostname>
|
||||||
<location>local</location>
|
<location>docker</location>
|
||||||
<admin>noreply@icecast.local</admin>
|
<admin>noreply@icecast.local</admin>
|
||||||
<fileserve>1</fileserve>
|
<fileserve>1</fileserve>
|
||||||
|
|
||||||
<limits>
|
<limits>
|
||||||
<burst-on-connect>0</burst-on-connect>
|
<clients>5</clients>
|
||||||
|
<sources>2</sources>
|
||||||
|
<queue-size>1280000</queue-size>
|
||||||
|
<client-timeout>30</client-timeout>
|
||||||
|
<header-timeout>15</header-timeout>
|
||||||
|
<source-timeout>1</source-timeout>
|
||||||
|
<burst-on-connect>1</burst-on-connect>
|
||||||
|
<burst-size>65535</burst-size>
|
||||||
</limits>
|
</limits>
|
||||||
|
|
||||||
<authentication>
|
<authentication>
|
||||||
<source-password>hackme</source-password>
|
<source-password>hackme</source-password>
|
||||||
<relay-password>hackme</relay-password>
|
<relay-password>hackme</relay-password>
|
||||||
<admin-user>admin</admin-user>
|
|
||||||
<admin-password>hackme</admin-password>
|
<admin-password>hackme</admin-password>
|
||||||
</authentication>
|
</authentication>
|
||||||
|
|
||||||
<listen-socket>
|
<listen-socket>
|
||||||
<port>8000</port>
|
<port>8000</port>
|
||||||
<bind-address>0.0.0.0</bind-address>
|
|
||||||
</listen-socket>
|
</listen-socket>
|
||||||
|
|
||||||
|
<http-headers>
|
||||||
|
<header name="Access-Control-Allow-Origin" value="*" />
|
||||||
|
</http-headers>
|
||||||
|
|
||||||
<mount>
|
<mount>
|
||||||
<mount-name>/mopidy</mount-name>
|
<mount-name>/mopidy</mount-name>
|
||||||
<fallback-mount>/silence.mp3</fallback-mount>
|
<fallback-mount>/silence.mp3</fallback-mount>
|
||||||
@@ -27,11 +36,12 @@
|
|||||||
</mount>
|
</mount>
|
||||||
|
|
||||||
<paths>
|
<paths>
|
||||||
|
<basedir>/data/icecast</basedir>
|
||||||
<logdir>/data/icecast/logs</logdir>
|
<logdir>/data/icecast/logs</logdir>
|
||||||
<webroot>/data/icecast/web</webroot>
|
<webroot>/data/icecast/web</webroot>
|
||||||
<adminroot>/data/icecast/admin</adminroot>
|
<adminroot>/data/icecast/admin</adminroot>
|
||||||
|
|
||||||
<alias source="/" destination="/status.xsl"/>
|
<alias source="/" destination="/mopidy"/>
|
||||||
</paths>
|
</paths>
|
||||||
|
|
||||||
<logging>
|
<logging>
|
||||||
|
|||||||
@@ -2,12 +2,9 @@
|
|||||||
data_dir = /data
|
data_dir = /data
|
||||||
config_dir = /data/.config
|
config_dir = /data/.config
|
||||||
cache_dir = /data/.cache
|
cache_dir = /data/.cache
|
||||||
max_tracklist_length = 10000
|
|
||||||
|
|
||||||
[audio]
|
[audio]
|
||||||
mixer = software
|
output = lamemp3enc bitrate=320 ! shout2send async=false sync=true mount=mopidy
|
||||||
mixer_volume = 100
|
|
||||||
output = lamemp3enc bitrate=320 ! shout2send mount=mopidy ip=0.0.0.0 port=8000 password=hackme
|
|
||||||
|
|
||||||
[file]
|
[file]
|
||||||
media_dirs = /music|Music
|
media_dirs = /music|Music
|
||||||
@@ -18,17 +15,32 @@ excluded_file_extensions =
|
|||||||
.gif
|
.gif
|
||||||
.bmp
|
.bmp
|
||||||
.m4a
|
.m4a
|
||||||
|
.itdb
|
||||||
|
.itl
|
||||||
|
|
||||||
[m3u]
|
[m3u]
|
||||||
enabled = false
|
enabled = false
|
||||||
|
|
||||||
|
[stream]
|
||||||
|
enabled = false
|
||||||
|
|
||||||
[local]
|
[local]
|
||||||
library = images
|
library = images
|
||||||
media_dir = /music
|
media_dir = /music
|
||||||
scan_flush_threshold = 100
|
scan_flush_threshold = 100
|
||||||
|
excluded_file_extensions =
|
||||||
|
.jpg
|
||||||
|
.jpeg
|
||||||
|
.png
|
||||||
|
.gif
|
||||||
|
.bmp
|
||||||
|
.m4a
|
||||||
|
.itdb
|
||||||
|
.itl
|
||||||
|
|
||||||
[local-images]
|
[local-images]
|
||||||
library = sqlite
|
library = sqlite
|
||||||
|
image_dir = /data/.images
|
||||||
|
|
||||||
[http]
|
[http]
|
||||||
hostname = 0.0.0.0
|
hostname = 0.0.0.0
|
||||||
@@ -37,9 +49,6 @@ hostname = 0.0.0.0
|
|||||||
hostname = 0.0.0.0
|
hostname = 0.0.0.0
|
||||||
|
|
||||||
[iris]
|
[iris]
|
||||||
snapcast_enabled = true
|
|
||||||
snapcast_host = 0.0.0.0
|
|
||||||
snapcast_port = 1705
|
|
||||||
country = US
|
country = US
|
||||||
locale = en_US
|
locale = en_US
|
||||||
|
|
||||||
|
|||||||
@@ -2,29 +2,17 @@
|
|||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
if [ ! -r /data/.config ]; then
|
[ ! -r /data/.config ] && mkdir -p /data/.config
|
||||||
mkdir -p /data/.config
|
[ ! -r /data/.images ] && mkdir -p /data/.images
|
||||||
fi
|
[ ! -r /data/.config/mopidy.conf ] && cp /defaults/mopidy.conf /data/.config
|
||||||
|
[ ! -r /data/.config/icecast.xml ] && cp /defaults/icecast.xml /data/.config
|
||||||
|
|
||||||
if [ ! -r /data/.config/mopidy.conf ]; then
|
if [ ! -r /data/icecast/web ] || [ ! -r /data/icecast/admin ] || [ ! -r /data/icecast/logs ]; then
|
||||||
cp /defaults/mopidy.conf /data/.config
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -r /data/.config/icecast.xml ]; then
|
|
||||||
cp /defaults/icecast.xml /data/.config
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -r /data/icecast/web ] || [ ! -r /data/icecast/admin ]; then
|
|
||||||
mkdir -p /data/icecast/web /data/icecast/admin /data/icecast/logs
|
mkdir -p /data/icecast/web /data/icecast/admin /data/icecast/logs
|
||||||
cp -r /usr/share/icecast /data/icecast
|
cp -r /usr/share/icecast /data/icecast
|
||||||
cp /defaults/silence.mp3 /data/icecast/web/silence.mp3
|
cp /defaults/silence.mp3 /data/icecast/web/silence.mp3
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -r /tmp/snapfifo ]; then
|
chown -R mopidy:mopidy /data
|
||||||
touch /tmp/snapfifo
|
|
||||||
fi
|
|
||||||
|
|
||||||
chown -R mopidy:mopidy /data /tmp/snapfifo
|
|
||||||
|
|
||||||
su-exec mopidy mopidy --config /data/.config/mopidy.conf local scan
|
su-exec mopidy mopidy --config /data/.config/mopidy.conf local scan
|
||||||
exec "${@}"
|
exec "${@}"
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
trap "kill $PID" HUP INT TERM
|
trap "kill $PID" HUP INT TERM
|
||||||
su-exec mopidy snapserver -d -s pipe:///tmp/snapfifo?name=Mopidy&sampleformat=48000:16:2 &
|
|
||||||
su-exec mopidy icecast -c /data/.config/icecast.xml -b &
|
su-exec mopidy icecast -c /data/.config/icecast.xml -b &
|
||||||
su-exec mopidy mopidy --config /data/.config/mopidy.conf "${@}" &
|
su-exec mopidy mopidy --config /data/.config/mopidy.conf "${@}" &
|
||||||
PID=$!
|
PID=$!
|
||||||
|
|||||||
Reference in New Issue
Block a user