|
@@ -1,5 +1,5 @@
|
|
|
#!/bin/bash
|
|
|
-Version=2.8
|
|
|
+Version=3.0
|
|
|
XService=YES
|
|
|
function print_centered {
|
|
|
[[ $# == 0 ]] && return 1
|
|
@@ -34,7 +34,7 @@ function set-title() {
|
|
|
}
|
|
|
|
|
|
function intro_ {
|
|
|
-print_centered "$(tput setaf 165)"
|
|
|
+print_centered "$(tput setaf 10)"
|
|
|
print_centered " _____ __ ";
|
|
|
print_centered " / ___/__ ____/ / ___ _______ _";
|
|
|
print_centered "/ (_ / -_) __/ _ \/ -_) __/ _ \`/";
|
|
@@ -112,52 +112,40 @@ echo -e "\n\e[97mEnd of process...\e[0m"
|
|
|
}
|
|
|
|
|
|
function service_ {
|
|
|
-cd /home/wareck
|
|
|
-if [ -f gerbera.service ];then rm gerbera.service;fi
|
|
|
+sudo killall -9 gerbera | true
|
|
|
+if ! getent passwd gerbera > /dev/null 2>&1
|
|
|
+then
|
|
|
+sudo useradd --system gerbera
|
|
|
+fi
|
|
|
+if ! [ -d /etc/gerbera ]
|
|
|
+then
|
|
|
+mkdir /etc/gerbera
|
|
|
+sudo ln -s /home/wareck/.config/gerbera/config.xml /etc/gerbera/
|
|
|
+sudo chown -Rv gerbera:gerbera /etc/gerbera
|
|
|
+fi
|
|
|
+sudo systemctl stop gerbera.service > /dev/null 2>&1
|
|
|
cat <<'EOF'>> gerbera.service
|
|
|
-#!/bin/sh
|
|
|
-### BEGIN INIT INFO
|
|
|
-# Provides: gerbera
|
|
|
-# Required-Start: networking
|
|
|
-# Default-Start: 3 4 5
|
|
|
-# Default-Stop: 0 6
|
|
|
-### END INIT INFO
|
|
|
-device=$(ip -br l | awk '$1 !~ "lo|vir|wl" { print $1}')
|
|
|
-case "$1" in
|
|
|
- start)
|
|
|
- device=$(ip -br l | awk '$1 !~ "lo|vir|wl" { print $1}')
|
|
|
- if pgrep -x "gerbera" > /dev/null
|
|
|
- then
|
|
|
- sudo killall -9 gerbera | true
|
|
|
- fi
|
|
|
- su wareck -c "screen -dmS gerbera /usr/local/bin/gerbera -e $device -p 49152"
|
|
|
- sleep 1
|
|
|
- sudo killall -9 gerbera | true
|
|
|
- su wareck -c "screen -dmS gerbera /usr/local/bin/gerbera -e $device -p 49152"
|
|
|
- ;;
|
|
|
- stop)
|
|
|
- if pgrep -x "gerbera" > /dev/null
|
|
|
- then
|
|
|
- sudo killall -9 gerbera | true
|
|
|
- fi
|
|
|
- ;;
|
|
|
- restart)
|
|
|
- $0 stop
|
|
|
- $0 start
|
|
|
- ;;
|
|
|
- *)
|
|
|
- echo "Usage: /etc/init.d/gerbera.service {start|restart|stop}"
|
|
|
- exit 1
|
|
|
- ;;
|
|
|
-esac
|
|
|
-
|
|
|
-exit 0
|
|
|
+[Unit]
|
|
|
+Description=Gerbera Media Server
|
|
|
+After=network.target network-online.target
|
|
|
+Wants=network-online.target
|
|
|
+
|
|
|
+[Service]
|
|
|
+Type=simple
|
|
|
+User=wareck
|
|
|
+Group=adm
|
|
|
+ExecStart=/usr/local/bin/gerbera -c /home/wareck/.config/gerbera/config.xml
|
|
|
+Restart=on-failure
|
|
|
+RestartSec=5
|
|
|
+
|
|
|
+[Install]
|
|
|
+WantedBy=multi-user.target
|
|
|
EOF
|
|
|
-chmod +x gerbera.service
|
|
|
-sudo cp /home/wareck/gerbera.service /etc/init.d/
|
|
|
-sudo update-rc.d gerbera.service defaults
|
|
|
-sudo rm /home/wareck/gerbera.service
|
|
|
-sudo rm /lib/systemd/system/gerbera.service
|
|
|
+sudo cp gerbera.service /lib/systemd/system/gerbera.service
|
|
|
+sudo rm gerbera.service
|
|
|
+sudo systemctl daemon-reload
|
|
|
+sudo systemctl start gerbera
|
|
|
+sudo systemctl enable gerbera
|
|
|
echo "Done"
|
|
|
}
|
|
|
|