mirror of
https://github.com/buanet/ioBroker.docker.git
synced 2025-12-17 18:39:01 +02:00
2
.github/workflows/build-debian12-dev.yml
vendored
2
.github/workflows/build-debian12-dev.yml
vendored
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user