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| diff --git a/aarch64/Dockerfile b/aarch64/Dockerfile index 8dc774e5..a8cde0f3 100644 --- a/aarch64/Dockerfile +++ b/aarch64/Dockerfile @@ -1,11 +1,12 @@ FROM balenalib/aarch64-debian:stretch -MAINTAINER Andre Germann +LABEL maintainer="Andre Germann" \ + url="" 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/aarch64/scripts/iobroker_startup.sh b/aarch64/scripts/iobroker_startup.sh index 9805355a..93b690f6 100644 --- a/aarch64/scripts/iobroker_startup.sh +++ b/aarch64/scripts/iobroker_startup.sh @@ -110,9 +110,26 @@ 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 + 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/Dockerfile b/amd64/Dockerfile index 1da5a9fe..43dd2fe7 100644 --- a/amd64/Dockerfile +++ b/amd64/Dockerfile @@ -1,11 +1,12 @@ FROM debian:stretch -MAINTAINER Andre Germann +LABEL maintainer="Andre Germann" \ + url="" 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/scripts/iobroker_startup.sh b/amd64/scripts/iobroker_startup.sh index 9805355a..93b690f6 100644 --- a/amd64/scripts/iobroker_startup.sh +++ b/amd64/scripts/iobroker_startup.sh @@ -110,9 +110,26 @@ 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 + 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/Dockerfile b/armv7hf/Dockerfile index 83e3f4ad..3a159a91 100644 --- a/armv7hf/Dockerfile +++ b/armv7hf/Dockerfile @@ -1,11 +1,12 @@ 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) -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/scripts/iobroker_startup.sh b/armv7hf/scripts/iobroker_startup.sh index 9805355a..93b690f6 100644 --- a/armv7hf/scripts/iobroker_startup.sh +++ b/armv7hf/scripts/iobroker_startup.sh @@ -110,9 +110,26 @@ 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 + 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 ' '