From 84c31002f45817f30ff74af97150e6af2b996b2b Mon Sep 17 00:00:00 2001 From: duffbeer2000 Date: Fri, 27 Dec 2019 14:23:58 +0100 Subject: [PATCH 1/6] Update README.md Correct the default value of LC_ALL --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index febfbff9..0fd2c8a6 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ Since v3 is possible to set some environment variables to configure a new contai |AVAHI|false|Installs and activates avahi-daemon for supporting yahka-adapter, can be "true" or "false"| |LANG|de_DE.UTF‑8|The following locales are pre-generated: de_DE.UTF-8, en_US.UTF-8| |LANGUAGE|de_DE:de|The following locales are pre-generated: de_DE:de, en_US:en| -|LC_ALL|de_DE|The following locales are pre-generated: de_DE.UTF-8, en_US.UTF-8| +|LC_ALL|de_DE.UTF-8|The following locales are pre-generated: de_DE.UTF-8, en_US.UTF-8| |PACKAGES|vi|Installs additional packages to your container, needed by some adapters, packages should be seperated by whitespace like "package1 package2 package3"| |REDIS|false|Activates redis as states-db on startup, fill with "hostname:port" to set redis connection otherwise use "false"(beta)| |SETGID|1000|For security reasons it might be useful to specify the gid of the containers iobroker user to match an existing group on the docker host| From 1492a15871ba1314096db10e69b5d702dfb8bcff Mon Sep 17 00:00:00 2001 From: duffbeer2000 Date: Fri, 27 Dec 2019 14:40:26 +0100 Subject: [PATCH 2/6] Include automatic restore to iobroker_startup.sh Integration of automatic restore of an iobroker backup file. It detects if /opt/iobroker contains a single file and if so if it contains a "backup.json" and restores it. --- aarch64/scripts/iobroker_startup.sh | 24 +++++++++++++++++++++--- amd64/scripts/iobroker_startup.sh | 24 +++++++++++++++++++++--- armv7hf/scripts/iobroker_startup.sh | 24 +++++++++++++++++++++--- 3 files changed, 63 insertions(+), 9 deletions(-) diff --git a/aarch64/scripts/iobroker_startup.sh b/aarch64/scripts/iobroker_startup.sh index 9805355a..359f110d 100644 --- a/aarch64/scripts/iobroker_startup.sh +++ b/aarch64/scripts/iobroker_startup.sh @@ -110,9 +110,27 @@ else then echo "Existing installation of ioBroker detected in /opt/iobroker." else - echo "There is data detected in /opt/iobroker, but it looks like it is no instance of iobroker!" - echo "Please check/ recreate mounted folder/ volume and restart ioBroker container." - exit 1 + files=(/opt/iobroker/*) + if [ ${#files[@]} -lt 2 ]; then + if tar -ztvf /opt/iobroker/*.tar.gz "backup/backup.json" &> /dev/null; then + echo "ioBroker Backup detected in /opt/iobroker. Restoring ioBroker..." + mv /opt/iobroker/iobroker_20*.tar.gz /opt/ + tar -xf /opt/initial_iobroker.tar -C / + mkdir /opt/iobroker/backups + rm -r /opt/iobroker/backups/* + mv /opt/iobroker_20*.tar.gz /opt/iobroker/backups/ + iobroker restore 0 + echo "Done." + else + echo "There is data detected in /opt/iobroker, but it looks like it is no instance of iobroker or a valid backup file!" + echo "Please check/ recreate mounted folder/ volume and restart ioBroker container." + exit 1 + fi + else + echo "There is data detected in /opt/iobroker, but it looks like it is no instance of iobroker!" + echo "Please check/ recreate mounted folder/ volume and restart ioBroker container." + exit 1 + fi fi fi echo ' ' diff --git a/amd64/scripts/iobroker_startup.sh b/amd64/scripts/iobroker_startup.sh index 9805355a..359f110d 100644 --- a/amd64/scripts/iobroker_startup.sh +++ b/amd64/scripts/iobroker_startup.sh @@ -110,9 +110,27 @@ else then echo "Existing installation of ioBroker detected in /opt/iobroker." else - echo "There is data detected in /opt/iobroker, but it looks like it is no instance of iobroker!" - echo "Please check/ recreate mounted folder/ volume and restart ioBroker container." - exit 1 + files=(/opt/iobroker/*) + if [ ${#files[@]} -lt 2 ]; then + if tar -ztvf /opt/iobroker/*.tar.gz "backup/backup.json" &> /dev/null; then + echo "ioBroker Backup detected in /opt/iobroker. Restoring ioBroker..." + mv /opt/iobroker/iobroker_20*.tar.gz /opt/ + tar -xf /opt/initial_iobroker.tar -C / + mkdir /opt/iobroker/backups + rm -r /opt/iobroker/backups/* + mv /opt/iobroker_20*.tar.gz /opt/iobroker/backups/ + iobroker restore 0 + echo "Done." + else + echo "There is data detected in /opt/iobroker, but it looks like it is no instance of iobroker or a valid backup file!" + echo "Please check/ recreate mounted folder/ volume and restart ioBroker container." + exit 1 + fi + else + echo "There is data detected in /opt/iobroker, but it looks like it is no instance of iobroker!" + echo "Please check/ recreate mounted folder/ volume and restart ioBroker container." + exit 1 + fi fi fi echo ' ' diff --git a/armv7hf/scripts/iobroker_startup.sh b/armv7hf/scripts/iobroker_startup.sh index 9805355a..359f110d 100644 --- a/armv7hf/scripts/iobroker_startup.sh +++ b/armv7hf/scripts/iobroker_startup.sh @@ -110,9 +110,27 @@ else then echo "Existing installation of ioBroker detected in /opt/iobroker." else - echo "There is data detected in /opt/iobroker, but it looks like it is no instance of iobroker!" - echo "Please check/ recreate mounted folder/ volume and restart ioBroker container." - exit 1 + files=(/opt/iobroker/*) + if [ ${#files[@]} -lt 2 ]; then + if tar -ztvf /opt/iobroker/*.tar.gz "backup/backup.json" &> /dev/null; then + echo "ioBroker Backup detected in /opt/iobroker. Restoring ioBroker..." + mv /opt/iobroker/iobroker_20*.tar.gz /opt/ + tar -xf /opt/initial_iobroker.tar -C / + mkdir /opt/iobroker/backups + rm -r /opt/iobroker/backups/* + mv /opt/iobroker_20*.tar.gz /opt/iobroker/backups/ + iobroker restore 0 + echo "Done." + else + echo "There is data detected in /opt/iobroker, but it looks like it is no instance of iobroker or a valid backup file!" + echo "Please check/ recreate mounted folder/ volume and restart ioBroker container." + exit 1 + fi + else + echo "There is data detected in /opt/iobroker, but it looks like it is no instance of iobroker!" + echo "Please check/ recreate mounted folder/ volume and restart ioBroker container." + exit 1 + fi fi fi echo ' ' From 0c1f8ed867d202eb55f0966f8b5deb7a9bc74ea2 Mon Sep 17 00:00:00 2001 From: duffbeer2000 Date: Fri, 27 Dec 2019 15:01:53 +0100 Subject: [PATCH 3/6] MAINTAINER is deprecated, switch to LABEL instead As https://docs.docker.com/engine/reference/builder/ says MAINTAINER instruction is deprecated. Switching to LABEL instruction. --- aarch64/Dockerfile | 3 ++- amd64/Dockerfile | 3 ++- armv7hf/Dockerfile | 5 +++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/aarch64/Dockerfile b/aarch64/Dockerfile index 8dc774e5..abd17204 100644 --- a/aarch64/Dockerfile +++ b/aarch64/Dockerfile @@ -1,6 +1,7 @@ FROM balenalib/aarch64-debian:stretch -MAINTAINER Andre Germann +LABEL maintainer="Andre Germann" \ + url="" ENV DEBIAN_FRONTEND noninteractive diff --git a/amd64/Dockerfile b/amd64/Dockerfile index 1da5a9fe..9eec8a61 100644 --- a/amd64/Dockerfile +++ b/amd64/Dockerfile @@ -1,6 +1,7 @@ FROM debian:stretch -MAINTAINER Andre Germann +LABEL maintainer="Andre Germann" \ + url="" ENV DEBIAN_FRONTEND noninteractive diff --git a/armv7hf/Dockerfile b/armv7hf/Dockerfile index 83e3f4ad..9ce67971 100644 --- a/armv7hf/Dockerfile +++ b/armv7hf/Dockerfile @@ -1,7 +1,8 @@ FROM balenalib/armv7hf-debian:stretch -MAINTAINER Andre Germann - +LABEL maintainer="Andre Germann" \ + url="" + ENV DEBIAN_FRONTEND noninteractive # Install prerequisites (as listed in iobroker installer.sh) From f1b1360264f7f3e4400268e15211bff9c0c94fc1 Mon Sep 17 00:00:00 2001 From: duffbeer2000 Date: Fri, 27 Dec 2019 15:03:21 +0100 Subject: [PATCH 4/6] removed apt-get upgrade -y apt-get upgrade -y shouldn't be used in a Dockerfile --- aarch64/Dockerfile | 2 +- amd64/Dockerfile | 2 +- armv7hf/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/aarch64/Dockerfile b/aarch64/Dockerfile index abd17204..a8cde0f3 100644 --- a/aarch64/Dockerfile +++ b/aarch64/Dockerfile @@ -6,7 +6,7 @@ LABEL maintainer="Andre Germann" \ ENV DEBIAN_FRONTEND noninteractive # Install prerequisites (as listed in iobroker installer.sh) -RUN apt-get update && apt-get upgrade -y && apt-get install -y \ +RUN apt-get update && apt-get install -y \ acl \ apt-utils \ build-essential \ diff --git a/amd64/Dockerfile b/amd64/Dockerfile index 9eec8a61..43dd2fe7 100644 --- a/amd64/Dockerfile +++ b/amd64/Dockerfile @@ -6,7 +6,7 @@ LABEL maintainer="Andre Germann" \ ENV DEBIAN_FRONTEND noninteractive # Install prerequisites (as listed in iobroker installer.sh) -RUN apt-get update && apt-get upgrade -y && apt-get install -y \ +RUN apt-get update && apt-get install -y \ acl \ apt-utils \ build-essential \ diff --git a/armv7hf/Dockerfile b/armv7hf/Dockerfile index 9ce67971..3a159a91 100644 --- a/armv7hf/Dockerfile +++ b/armv7hf/Dockerfile @@ -6,7 +6,7 @@ LABEL maintainer="Andre Germann" \ ENV DEBIAN_FRONTEND noninteractive # Install prerequisites (as listed in iobroker installer.sh) -RUN apt-get update && apt-get upgrade -y && apt-get install -y \ +RUN apt-get update && apt-get install -y \ acl \ apt-utils \ build-essential \ From 37c9046077808f3332dbf9c8764dc9ad8efc9406 Mon Sep 17 00:00:00 2001 From: duffbeer2000 Date: Fri, 27 Dec 2019 15:13:46 +0100 Subject: [PATCH 5/6] Small Bugfix for restore --- aarch64/scripts/iobroker_startup.sh | 2 +- amd64/scripts/iobroker_startup.sh | 2 +- armv7hf/scripts/iobroker_startup.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/aarch64/scripts/iobroker_startup.sh b/aarch64/scripts/iobroker_startup.sh index 359f110d..8b60ecab 100644 --- a/aarch64/scripts/iobroker_startup.sh +++ b/aarch64/scripts/iobroker_startup.sh @@ -117,7 +117,7 @@ else mv /opt/iobroker/iobroker_20*.tar.gz /opt/ tar -xf /opt/initial_iobroker.tar -C / mkdir /opt/iobroker/backups - rm -r /opt/iobroker/backups/* + rm -r /opt/iobroker/backups/* &> /dev/null mv /opt/iobroker_20*.tar.gz /opt/iobroker/backups/ iobroker restore 0 echo "Done." diff --git a/amd64/scripts/iobroker_startup.sh b/amd64/scripts/iobroker_startup.sh index 359f110d..8b60ecab 100644 --- a/amd64/scripts/iobroker_startup.sh +++ b/amd64/scripts/iobroker_startup.sh @@ -117,7 +117,7 @@ else mv /opt/iobroker/iobroker_20*.tar.gz /opt/ tar -xf /opt/initial_iobroker.tar -C / mkdir /opt/iobroker/backups - rm -r /opt/iobroker/backups/* + rm -r /opt/iobroker/backups/* &> /dev/null mv /opt/iobroker_20*.tar.gz /opt/iobroker/backups/ iobroker restore 0 echo "Done." diff --git a/armv7hf/scripts/iobroker_startup.sh b/armv7hf/scripts/iobroker_startup.sh index 359f110d..8b60ecab 100644 --- a/armv7hf/scripts/iobroker_startup.sh +++ b/armv7hf/scripts/iobroker_startup.sh @@ -117,7 +117,7 @@ else mv /opt/iobroker/iobroker_20*.tar.gz /opt/ tar -xf /opt/initial_iobroker.tar -C / mkdir /opt/iobroker/backups - rm -r /opt/iobroker/backups/* + rm -r /opt/iobroker/backups/* &> /dev/null mv /opt/iobroker_20*.tar.gz /opt/iobroker/backups/ iobroker restore 0 echo "Done." From 22d6b0158c4383c37d62f9e6ae80ff441e7abcac Mon Sep 17 00:00:00 2001 From: duffbeer2000 Date: Sun, 29 Dec 2019 19:56:21 +0100 Subject: [PATCH 6/6] Small fix backup folder is always empty in this if case so not necessary to empty it --- aarch64/scripts/iobroker_startup.sh | 1 - amd64/scripts/iobroker_startup.sh | 1 - armv7hf/scripts/iobroker_startup.sh | 1 - 3 files changed, 3 deletions(-) diff --git a/aarch64/scripts/iobroker_startup.sh b/aarch64/scripts/iobroker_startup.sh index 8b60ecab..93b690f6 100644 --- a/aarch64/scripts/iobroker_startup.sh +++ b/aarch64/scripts/iobroker_startup.sh @@ -117,7 +117,6 @@ else mv /opt/iobroker/iobroker_20*.tar.gz /opt/ tar -xf /opt/initial_iobroker.tar -C / mkdir /opt/iobroker/backups - rm -r /opt/iobroker/backups/* &> /dev/null mv /opt/iobroker_20*.tar.gz /opt/iobroker/backups/ iobroker restore 0 echo "Done." diff --git a/amd64/scripts/iobroker_startup.sh b/amd64/scripts/iobroker_startup.sh index 8b60ecab..93b690f6 100644 --- a/amd64/scripts/iobroker_startup.sh +++ b/amd64/scripts/iobroker_startup.sh @@ -117,7 +117,6 @@ else mv /opt/iobroker/iobroker_20*.tar.gz /opt/ tar -xf /opt/initial_iobroker.tar -C / mkdir /opt/iobroker/backups - rm -r /opt/iobroker/backups/* &> /dev/null mv /opt/iobroker_20*.tar.gz /opt/iobroker/backups/ iobroker restore 0 echo "Done." diff --git a/armv7hf/scripts/iobroker_startup.sh b/armv7hf/scripts/iobroker_startup.sh index 8b60ecab..93b690f6 100644 --- a/armv7hf/scripts/iobroker_startup.sh +++ b/armv7hf/scripts/iobroker_startup.sh @@ -117,7 +117,6 @@ else mv /opt/iobroker/iobroker_20*.tar.gz /opt/ tar -xf /opt/initial_iobroker.tar -C / mkdir /opt/iobroker/backups - rm -r /opt/iobroker/backups/* &> /dev/null mv /opt/iobroker_20*.tar.gz /opt/iobroker/backups/ iobroker restore 0 echo "Done."