93 lines
1.9 KiB
Bash
Executable File
93 lines
1.9 KiB
Bash
Executable File
#! /bin/bash
|
|
set -u
|
|
set -e
|
|
name="$(basename ${BASH_SOURCE})"
|
|
dir="$(dirname $(realpath ${BASH_SOURCE}))"
|
|
mntme="$dir/$name-mnt"
|
|
|
|
mkdir -p $mntme
|
|
chmod -R 777 $mntme || true
|
|
|
|
docker rm -f \
|
|
mpd \
|
|
ympd \
|
|
rompr \
|
|
icecast \
|
|
|| true
|
|
|
|
# network
|
|
docker network create mpdnet || true
|
|
|
|
# MPD // server
|
|
mkdir -p $mntme/mpd/{playlists,db}
|
|
touch $mntme/mpd/{conf,state}
|
|
if [ ! -e $mntme/mpd/media ]; then
|
|
ln -s /volume1/video/Bel/Podcast $mntme/mpd/media
|
|
fi
|
|
sudo docker run -d \
|
|
--restart=unless-stopped \
|
|
--name=mpd \
|
|
--network=mpdnet \
|
|
--net-alias mpd \
|
|
--net-alias mpd.mpd \
|
|
-v $mntme/mpd/conf:/etc/mpd.conf \
|
|
-v $mntme/mpd/state:/state \
|
|
-v $mntme/mpd/playlists:/playlists \
|
|
-v $mntme/mpd/media:/media \
|
|
-v $mntme/mpd/db:/db \
|
|
-p 6600:6600 \
|
|
-p 6501-6510:6501-6510 \
|
|
-p 8000:8000 \
|
|
vimagick/mpd
|
|
|
|
|
|
sleep 2
|
|
for cmd in update "consume 1" clear "load RESTORE" play pause; do
|
|
docker exec -i mpd mpc $cmd
|
|
done
|
|
|
|
# YMPD // remote
|
|
sudo docker run -d \
|
|
--restart=unless-stopped \
|
|
--name=ympd \
|
|
--network=mpdnet \
|
|
--net-alias ympd \
|
|
-p 4041:8080 \
|
|
vitiman/alpine-ympd
|
|
|
|
# rompr // remote
|
|
#sudo docker run -d \
|
|
# --restart=unless-stopped \
|
|
# --name=rompr \
|
|
# --network=mpdnet \
|
|
# --net-alias rompr \
|
|
# -p 4042:80 \
|
|
# rawdlite/rompr
|
|
|
|
# icecast // remote+player
|
|
#sudo docker run -d \
|
|
# --restart=unless-stopped \
|
|
# --name=icecast \
|
|
# --network=mpdnet \
|
|
# --net-alias icecast \
|
|
# -p 8000:8000 \
|
|
# vitiman/alpine-icecast
|
|
|
|
# rompr // remote
|
|
|
|
docker exec -i mpd apk add --no-cache fcron
|
|
docker exec -i mpd mkdir -p /etc/periodic/15min || true
|
|
echo '
|
|
#! /bin/sh
|
|
mpc rm RESTORE
|
|
mpc save RESTORE
|
|
echo "Done: $(date)" >> /var/log/mpd_save
|
|
' | docker exec -i mpd sh -c 'cat > /mpd_save.sh'
|
|
echo '
|
|
*/25 * * * * sh /mpd_save.sh
|
|
' | docker exec -i mpd sh -c 'cat > /save_cron'
|
|
docker exec -i mpd chmod +x /mpd_save.sh
|
|
docker exec -i mpd crond
|
|
docker exec -i mpd crontab /save_cron
|
|
echo DONE
|