107 lines
2.5 KiB
Bash
107 lines
2.5 KiB
Bash
#!/bin/bash
|
|
|
|
prog="$0"
|
|
while [ -h "${prog}" ]; do
|
|
newProg=`/bin/ls -ld "${prog}"`
|
|
|
|
newProg=`expr "${newProg}" : ".* -> \(.*\)$"`
|
|
if expr "x${newProg}" : 'x/' >/dev/null; then
|
|
prog="${newProg}"
|
|
else
|
|
progdir=`dirname "${prog}"`
|
|
prog="${progdir}/${newProg}"
|
|
fi
|
|
done
|
|
progdir=`dirname "${prog}"`
|
|
cd "${progdir}"
|
|
progdir=$(pwd)
|
|
|
|
mkdir -p emby.tmp emby.cache >/dev/null 2>&1
|
|
chmod 777 emby.tmp emby.cache
|
|
|
|
docker stop embysim
|
|
docker rm embysim
|
|
|
|
num=$(mount |grep "/external"|wc -l)
|
|
if [ $num -lt 1 ]; then
|
|
mkdir external >/dev/null 2>&1
|
|
mount -o bind,shared emby.external external
|
|
echo "mount emby.external to external to mark shared"
|
|
fi
|
|
|
|
if [ ! -e alistservers.txt ]; then
|
|
cp alistservers.template.txt alistservers.txt
|
|
fi
|
|
|
|
interface=$(ip route show | grep default | awk '{print $5}')
|
|
export SELFIP=$(ip addr show $interface | grep -w inet | awk '{print $2}' | cut -d/ -f1|head -1)
|
|
echo "DETECT SELF IP:${SELFIP}, if this is not correct, change SELFIP to your real ip"
|
|
|
|
url=$(cat rclone.conf |grep -E "^url"|sed -e 's/.*\(http.*\)/\1/'|head -1)
|
|
echo "get webdav url from rclone:$url"
|
|
curl -v -L $url
|
|
if [ $? -eq 0 ]; then
|
|
iswebdavsim=$(curl -v -L $url -o - 2>&1|grep "Path-Based WebDAV Server"|wc -l)
|
|
if [ $iswebdavsim -gt 0 ]; then
|
|
echo "WARN:webdavsim is running, data may be outdate."
|
|
else
|
|
echo "ERROR:$url is NOT WebDAVSim, exit"
|
|
exit
|
|
fi
|
|
else
|
|
echo "run webdavsim..."
|
|
chmod u+x tmuxrunwebdavsim.sh
|
|
tmux -V
|
|
if [ $? -eq 0 ]; then
|
|
./tmuxrunwebdavsim.sh
|
|
else
|
|
nohup ./runwebdavsim.sh >/dev/null 2>&1 &
|
|
fi
|
|
fi
|
|
|
|
num=$(mount |grep "/rclone.media"|wc -l)
|
|
if [ $num -gt 0 ]; then
|
|
echo "WARN:rclone.media already mounted, the webdav content may be outdate"
|
|
else
|
|
chmod u+x rclonemount.sh
|
|
./rclonemount.sh
|
|
fi
|
|
|
|
num=$(mount |grep "/rclone.media"|wc -l)
|
|
if [ $num -lt 1 ]; then
|
|
echo "ERROR:rclone not running, exit"
|
|
exit
|
|
fi
|
|
|
|
# --gpus all \
|
|
# -e HTTP_PROXY=http://192.168.101.1:8118 \
|
|
# -e HTTPS_PROXY=http://192.168.101.1:8118 \
|
|
# --net=host \
|
|
|
|
cores=$(cat /proc/cpuinfo |grep processor|wc -l)
|
|
cpus=$(expr $cores / 2)
|
|
if [ $cpus -lt 1 ]; then
|
|
cpus="1"
|
|
fi
|
|
echo "use cpus:$cpus"
|
|
|
|
docker run -d \
|
|
--cpus $cpus \
|
|
--sysctl net.ipv6.conf.all.disable_ipv6=1 \
|
|
--name embysim \
|
|
-v $progdir/emby.config:/config \
|
|
-v $progdir/external:/external:rshared \
|
|
-v $progdir/emby.tmp:/tmp \
|
|
-v $progdir/emby.cache:/cache \
|
|
--device /dev/dri:/dev/dri \
|
|
-p 8096:8096 \
|
|
-p 8920:8920 \
|
|
--env UID=1000 \
|
|
--env GID=100 \
|
|
--env GIDLIST=100 \
|
|
--env SELFIP=${SELFIP} \
|
|
--restart on-failure \
|
|
emby/embyserver:latest
|
|
|
|
#pandagroove/embysim:1.0.0
|