mirror of
https://github.com/buanet/ioBroker.docker.git
synced 2025-12-17 10:29:00 +02:00
moving files and testing new iob executable
This commit is contained in:
62
debian12/scripts/iobroker.sh
Normal file
62
debian12/scripts/iobroker.sh
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
#!/usr/bin/bash
|
||||||
|
|
||||||
|
# run iob fix
|
||||||
|
iob_fix () {
|
||||||
|
if [ "$(id -u)" -eq 0 ]; then
|
||||||
|
echo "The ioBroker fixer script is not specifically designed to run in Docker."
|
||||||
|
echo "Although it is generally safe to use, use it at your own risk and make sure to restart your container immediately after execution!"
|
||||||
|
|
||||||
|
local reply
|
||||||
|
read -rp 'Do you want to continue? [yes/no] ' reply
|
||||||
|
if [[ "$reply" == y || "$reply" == Y || "$reply" == yes ]]; then
|
||||||
|
: # continue
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
curl -sL https://iobroker.net/fix.sh | bash -
|
||||||
|
else
|
||||||
|
echo "Due to some limitations in Docker, you need to run the ioBroker fixer script as root."
|
||||||
|
echo "Please connect as root user and try again."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# run iob diag
|
||||||
|
iob_diag () {
|
||||||
|
if [ "$(id -u)" -eq 0 ]; then
|
||||||
|
echo "The ioBroker diag script is not specifically designed to run in Docker."
|
||||||
|
echo "Although it is generally safe to use, use it at your own risk."
|
||||||
|
local reply
|
||||||
|
read -rp 'Do you want to continue? [yes/no] ' reply
|
||||||
|
if [[ "$reply" == y || "$reply" == Y || "$reply" == yes ]]; then
|
||||||
|
: # continue
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
curl -sLf https://iobroker.net/diag.sh --output /home/iobroker/.diag.sh && bash /home/iobroker/.diag.sh | gosu iobroker tee /home/iobroker/iob_diag.log
|
||||||
|
else
|
||||||
|
echo "Due to some limitations in Docker, you need to run the ioBroker fixer script as root."
|
||||||
|
echo "Please connect as root user and try again."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$1" = "fix" ]; then # call iobroker fixer
|
||||||
|
iob_fix
|
||||||
|
elif [ "$1" = "diag" ]; then # call iobroker diag script
|
||||||
|
iob_diag
|
||||||
|
elif [ "$1" = "start" ] || [ "$1" = "stop" ] || [ "$1" = "restart" ]; then # block execution of iobroker start | stop | restart
|
||||||
|
echo "The execution of this command is blocked as your ioBroker is running inside a Docker container!"
|
||||||
|
echo "For more details see ioBroker Docker image docs (https://docs.buanet.de/iobroker-docker-image/docs/) or use the maintenance script 'maintenance --help'."
|
||||||
|
elif [ "$1" = "m" ] || [ "$1" = "maint" ] || [ "$1" = "maintenance" ]; then # call iobroker maintenance script
|
||||||
|
shift
|
||||||
|
if [ "$(id -u)" -eq 0 ]; then # check for execution as root
|
||||||
|
gosu iobroker bash /opt/scripts/maintenance.sh "$@"
|
||||||
|
else
|
||||||
|
bash /opt/scripts/maintenance.sh "$@"
|
||||||
|
fi
|
||||||
|
else # passing all other parameters to iobroker.js
|
||||||
|
if [ "$(id -u)" -eq 0 ]; then # check for execution as root
|
||||||
|
gosu iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js "$@"
|
||||||
|
else
|
||||||
|
node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js "$@"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
@@ -221,7 +221,7 @@ echo "$(printf -- '-%.0s' {1..80})"
|
|||||||
echo " "
|
echo " "
|
||||||
|
|
||||||
# Backing up original iobroker executable to fix sudo bug with gosu
|
# Backing up original iobroker executable to fix sudo bug with gosu
|
||||||
if [[ ! -f /opt/iobroker/iobroker.bak ]]; then
|
if [[ -n $(cmp /opt/scripts/iobroker.sh /opt/iobroker/iobroker) ]]; then
|
||||||
echo -n "Replacing ioBroker executable to fix sudo bug... "
|
echo -n "Replacing ioBroker executable to fix sudo bug... "
|
||||||
cp -a /opt/iobroker/iobroker /opt/iobroker/iobroker.bak
|
cp -a /opt/iobroker/iobroker /opt/iobroker/iobroker.bak
|
||||||
cp -f /opt/scripts/iobroker.sh /opt/iobroker/iobroker
|
cp -f /opt/scripts/iobroker.sh /opt/iobroker/iobroker
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
#!/usr/bin/bash
|
|
||||||
|
|
||||||
if [ "$(id -u)" -eq 0 ]; then
|
|
||||||
echo "WARNING! IoBroker should not be executed as root!"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$1" = "fix" ]; then # call iobroker fixer
|
|
||||||
curl -sL https://iobroker.net/fix.sh | bash -
|
|
||||||
elif [ "$1" = "diag" ]; then # call iobroker diag script
|
|
||||||
if [ "$(id -u)" -eq 0 ]; then # check for execution as root
|
|
||||||
gosu iobroker curl -sLf https://iobroker.net/diag.sh --output /home/iobroker/.diag.sh && bash /home/iobroker/.diag.sh | gosu iobroker tee /home/iobroker/iob_diag.log
|
|
||||||
else
|
|
||||||
curl -sLf https://iobroker.net/diag.sh --output /home/iobroker/.diag.sh && bash /home/iobroker/.diag.sh | tee /home/iobroker/iob_diag.log
|
|
||||||
fi
|
|
||||||
elif [ "$1" = "start" ] || [ "$1" = "stop" ] || [ "$1" = "restart" ]; then # block execution of iobroker start | stop | restart
|
|
||||||
echo "The execution of this command is blocked as your ioBroker is running inside a Docker container!"
|
|
||||||
echo "Please check ioBroker Docker image docs (https://docs.buanet.de) for the proper way to perform this action!"
|
|
||||||
else # passing all other parameters to iobroker.js
|
|
||||||
if [ "$(id -u)" -eq 0 ]; then # check for execution as root
|
|
||||||
gosu iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js "$@"
|
|
||||||
else
|
|
||||||
node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js "$@"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
Reference in New Issue
Block a user