Merge pull request #389 from buanet/beta

prepare hotfix
This commit is contained in:
André Germann
2023-10-11 09:28:22 +02:00
committed by GitHub
5 changed files with 34 additions and 18 deletions

View File

@@ -1 +1 @@
v9.0.0 v9.0.1

View File

@@ -134,7 +134,7 @@ jobs:
with: with:
context: ./debian12 context: ./debian12
file: ./debian12/Dockerfile file: ./debian12/Dockerfile
push: false push: true
platforms: | platforms: |
linux/amd64 linux/amd64
linux/arm64 linux/arm64

View File

@@ -1,5 +1,11 @@
## Changelog ## Changelog
### v9.0.1 (10.10.2023)
* fix issue with avahi setup ([#384](https://github.com/buanet/ioBroker.docker/issues/384); [#385 by @z1r0](https://github.com/buanet/ioBroker.docker/pull/385))
* add silent cleanup to setup_avahi.sh
* add error handling for package updates/ install
* fix calling iob in iobroker_startup.sh ([#388](https://github.com/buanet/ioBroker.docker/issues/388))
### v9.0.0 (09.10.2023) ### v9.0.0 (09.10.2023)
* update official docs * update official docs
* v9.0.0-beta.2 (28.09.2023) * v9.0.0-beta.2 (28.09.2023)

View File

@@ -133,7 +133,11 @@ if [[ -f /opt/.docker_config/.first_run ]]; then
if [[ "$offlinemode" = "true" ]]; then if [[ "$offlinemode" = "true" ]]; then
echo "OFFLINE_MODE is \"true\". Skipping Linux package updates on first run." echo "OFFLINE_MODE is \"true\". Skipping Linux package updates on first run."
else else
bash /opt/scripts/setup_packages.sh -update if bash /opt/scripts/setup_packages.sh -update; then
echo " "
else
echo "Error: Updating failed."
fi
fi fi
echo " " echo " "
# Installing packages from ENV # Installing packages from ENV
@@ -141,7 +145,11 @@ if [[ -f /opt/.docker_config/.first_run ]]; then
echo "PACKAGES is set, but OFFLINE_MODE is \"true\". Skipping Linux package installation." echo "PACKAGES is set, but OFFLINE_MODE is \"true\". Skipping Linux package installation."
elif [[ "$packages" != "" ]]; then elif [[ "$packages" != "" ]]; then
echo "PACKAGES is set. Installing the following additional Linux packages: ""$packages" echo "PACKAGES is set. Installing the following additional Linux packages: ""$packages"
bash /opt/scripts/setup_packages.sh -install if bash /opt/scripts/setup_packages.sh -install; then
echo " "
else
echo "Error: Installation failed."
fi
fi fi
echo " " echo " "
# Register maintenance script # Register maintenance script
@@ -308,7 +316,7 @@ if [[ -f /opt/iobroker/.fresh_install && "$multihost" != "slave" ]]; then
echo -n "Initializing a fresh installation of ioBroker... " echo -n "Initializing a fresh installation of ioBroker... "
if [[ ! -d "/opt/iobroker/log" ]]; then gosu iobroker mkdir "/opt/iobroker/log"; fi if [[ ! -d "/opt/iobroker/log" ]]; then gosu iobroker mkdir "/opt/iobroker/log"; fi
set +e set +e
bash iob setup first > /opt/iobroker/log/iob_setup_first.log 2>&1 gosu iobroker iob setup first > /opt/iobroker/log/iob_setup_first.log 2>&1
return=$? return=$?
set -e set -e
rm -f /opt/iobroker/.fresh_install rm -f /opt/iobroker/.fresh_install
@@ -323,11 +331,11 @@ if [[ -f /opt/iobroker/.fresh_install && "$multihost" != "slave" ]]; then
else else
echo -n "Checking Database connection... " echo -n "Checking Database connection... "
set +e set +e
if iob uuid &> /dev/null; then if gosu iobroker iob uuid &> /dev/null; then
echo "Done." echo "Done."
echo " " echo " "
else else
errormsg=$(iob uuid 2>&1 | sed 's/^/[DEBUG] /') errormsg=$(gosu iobroker iob uuid 2>&1 | sed 's/^/[DEBUG] /')
echo "Failed." echo "Failed."
if [[ "$debug" == "true" ]]; then if [[ "$debug" == "true" ]]; then
echo "[DEBUG] Error message: " echo "[DEBUG] Error message: "
@@ -347,20 +355,20 @@ if [[ "$multihost" == "slave" ]]; then
else else
# get admin instance and hostname # get admin instance and hostname
set +e set +e
admininstance=$(bash iobroker list instances | grep 'enabled' | grep -m 1 -o 'system.adapter.admin..') admininstance=$(gosu iobroker iob list instances | grep 'enabled' | grep -m 1 -o 'system.adapter.admin..')
set -e set -e
if [[ "$admininstance" != "" ]]; then if [[ "$admininstance" != "" ]]; then
if [[ "$debug" == "true" ]]; then echo "[DEBUG] Detected admin instance is:" "$admininstance"; fi if [[ "$debug" == "true" ]]; then echo "[DEBUG] Detected admin instance is:" "$admininstance"; fi
adminhostname=$(bash iobroker object get "$admininstance" --pretty | grep -oP '(?<="host": ")[^"]*') adminhostname=$(gosu iobroker iob object get "$admininstance" --pretty | grep -oP '(?<="host": ")[^"]*')
if [[ "$debug" == "true" ]]; then echo "[DEBUG] Detected admin hostname is:" "$adminhostname"; fi if [[ "$debug" == "true" ]]; then echo "[DEBUG] Detected admin hostname is:" "$adminhostname"; fi
else else
set +e set +e
admininstance=$(bash iobroker list instances | grep 'disabled' | grep -m 1 -o 'system.adapter.admin..') admininstance=$(gosu iobroker iob list instances | grep 'disabled' | grep -m 1 -o 'system.adapter.admin..')
set -e set -e
if [[ "$admininstance" != "" ]]; then if [[ "$admininstance" != "" ]]; then
if [[ "$debug" == "true" ]]; then echo "[DEBUG] Detected admin instance is disabled."; fi if [[ "$debug" == "true" ]]; then echo "[DEBUG] Detected admin instance is disabled."; fi
if [[ "$debug" == "true" ]]; then echo "[DEBUG] Detected admin instance is:" "$admininstance"; fi if [[ "$debug" == "true" ]]; then echo "[DEBUG] Detected admin instance is:" "$admininstance"; fi
adminhostname=$(bash iobroker object get "$admininstance" --pretty | grep -oP '(?<="host": ")[^"]*') adminhostname=$(gosu iobroker iob object get "$admininstance" --pretty | grep -oP '(?<="host": ")[^"]*')
if [[ "$debug" == "true" ]]; then echo "[DEBUG] Detected admin hostname is:" "$adminhostname"; fi if [[ "$debug" == "true" ]]; then echo "[DEBUG] Detected admin hostname is:" "$adminhostname"; fi
else else
echo "There was a problem detecting the admin instance of your iobroker." echo "There was a problem detecting the admin instance of your iobroker."
@@ -373,7 +381,7 @@ else
if [[ "$adminhostname" != "" && "$adminhostname" != "$(hostname)" ]]; then if [[ "$adminhostname" != "" && "$adminhostname" != "$(hostname)" ]]; then
echo "Hostname in ioBroker does not match the hostname of this container." echo "Hostname in ioBroker does not match the hostname of this container."
echo -n "Updating hostname to \"""$(hostname)""\"... " echo -n "Updating hostname to \"""$(hostname)""\"... "
bash iobroker host "$adminhostname" gosu iobroker iob host "$adminhostname"
echo "Done." echo "Done."
echo " " echo " "
elif [[ "$adminhostname" = "$(hostname)" ]]; then elif [[ "$adminhostname" = "$(hostname)" ]]; then
@@ -431,13 +439,13 @@ echo " "
# Checking ENV for Adminport # Checking ENV for Adminport
if [[ "$adminport" != "" && "$multihost" != "slave" ]]; then if [[ "$adminport" != "" && "$multihost" != "slave" ]]; then
adminportold=$(bash iobroker object get "$admininstance" --pretty | grep -oP '(?<="port": )[^,]*') adminportold=$(gosu iobroker iob object get "$admininstance" --pretty | grep -oP '(?<="port": )[^,]*')
admininstanceshort=$(echo "$admininstance" | grep -m 1 -o 'admin..') admininstanceshort=$(echo "$admininstance" | grep -m 1 -o 'admin..')
if [[ "$adminport" != "$adminportold" ]]; then if [[ "$adminport" != "$adminportold" ]]; then
echo "IOB_ADMINPORT is set and does not match port configured in ioBroker." echo "IOB_ADMINPORT is set and does not match port configured in ioBroker."
if [[ "$debug" == "true" ]]; then echo "[DEBUG] Detected Admin Port in ioBroker: " "$adminportold"; fi if [[ "$debug" == "true" ]]; then echo "[DEBUG] Detected Admin Port in ioBroker: " "$adminportold"; fi
echo "Setting Adminport to \"""$adminport""\"... " echo "Setting Adminport to \"""$adminport""\"... "
bash iobroker set "$admininstanceshort" --port "$adminport" gosu iobroker iob set "$admininstanceshort" --port "$adminport"
echo "Done." echo "Done."
echo " " echo " "
fi fi

View File

@@ -5,9 +5,11 @@ then
echo "[setup_avahi.sh] Avahi is already installed. Nothing to do here." echo "[setup_avahi.sh] Avahi is already installed. Nothing to do here."
else else
echo -n "[setup_avahi.sh] Avahi-daemon is NOT installed. Going to install it now... " echo -n "[setup_avahi.sh] Avahi-daemon is NOT installed. Going to install it now... "
apt-get update > /opt/scripts/avahi_startup.log 2>&1 apt-get -q update > /opt/scripts/avahi_startup.log 2>&1
apt-get install -y --no-install-recommends libavahi-compat-libdnssd-dev avahi-daemon >> /opt/scripts/avahi_startup.log 2>&1 apt-get -q -y --no-install-recommends install libavahi-compat-libdnssd-dev avahi-daemon >> /opt/scripts/avahi_startup.log 2>&1
rm -rf /var/lib/apt/lists/* >> /opt/scripts/avahi_startup.log 2>&1 # Silent Cleanup
apt-get -qq autoclean -y && apt-get -qq autoremove && apt-get -qq clean
rm -rf /tmp/* /var/tmp/* /root/.cache/* /var/lib/apt/lists/* || true
echo "Done." echo "Done."
echo -n "[setup_avahi.sh] Configuring avahi-daemon... " echo -n "[setup_avahi.sh] Configuring avahi-daemon... "
sed -i '/^rlimit-nproc/s/^\(.*\)/#\1/g' /etc/avahi/avahi-daemon.conf sed -i '/^rlimit-nproc/s/^\(.*\)/#\1/g' /etc/avahi/avahi-daemon.conf
@@ -32,7 +34,7 @@ echo -n "[setup_avahi.sh] Starting dbus... "
echo "Done." echo "Done."
echo -n "[setup_avahi.sh] Starting avahi-daemon... " echo -n "[setup_avahi.sh] Starting avahi-daemon... "
/etc/init.d/avahi-daemon start >> /opt/scripts/avahi_startup.log 2>&1 avahi-daemon >> /opt/scripts/avahi_startup.log 2>&1 &
echo "Done." echo "Done."
exit 0 exit 0