Files
tv/runembysim.sh

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