preparing new beta

This commit is contained in:
buanet
2020-01-06 00:36:46 +01:00
parent 4101fc1cab
commit 7d4eba91a1
3 changed files with 60 additions and 57 deletions

View File

@@ -49,11 +49,13 @@ Since v3 is possible to set some environment variables to configure a new contai
### Mounting Folder/ Volume
It is now possible to mount an empty folder to /opt/iobroker during first startup of the container. The Startupscript will check this folder and restore content if it is empty.
It is possible to mount an empty folder to /opt/iobroker during first startup of the container. The Startupscript will check this folder and restore content if it is empty.
In actual beta (v4.0.3beta) it is also possible mount a folder with an iobroker backup (created with backitup-adapter) named like this: "iobroker_2020_01_06-01_09_10_backupiobroker.tar.gz".
The startup script will then detect this backup and restore it during the start of the container. Plese see logs when starting the container for more details.
It is absolutely recommended to use a mounted folder or persistent volume for /opt/iobroker folder!
This also works with mounting a folder containing an existing ioBroker-installation (e.g. when moving an existing installation to docker).
You can also mount a folder containing an existing ioBroker-installation (e.g. when moving an existing installation to docker).
### Permission Fixer
@@ -61,9 +63,12 @@ After some issues with permissions related to the use of a dedicated user for io
## Changelog
### v4.0.2beta (2019-12-10)
* added env for activating redis
* enhancements in startupscript and dockerfile
### v4.0.3beta (2020-01-06)
* added support to restore backup on startup
* small fixes according to "docker best practices"
* v4.0.2beta (2019-12-10)
* added env for activating redis
* enhancements in startupscript and dockerfile
* v4.0.1beta (2019-11-25)
* added env for iobroker admin port
* added env for usb-devices (setting permissions)

View File

@@ -100,37 +100,36 @@ echo "----- Step 2 of 5: Detecting ioBroker installation -----"
echo "$(printf -- '-%.0s' {1..60})"
echo ' '
if [ `ls -1a|wc -l` -lt 3 ]
if [ `find /opt/iobroker -type f | wc -l` -lt 1 ]
then
echo "There is no data detected in /opt/iobroker. Restoring initial ioBroker installation..."
tar -xf /opt/initial_iobroker.tar -C /
echo "Done."
elif [ -f /opt/iobroker/iobroker ]
then
echo "Existing installation of ioBroker detected in /opt/iobroker."
elif [ $(ls iobroker_20* 2> /dev/null | wc -l) != "0" ] && [ $(tar -ztvf /opt/iobroker/iobroker_20*.tar.gz "backup/backup.json" 2> /dev/null | wc -l) != "0" ]
then
echo "ioBroker backup file detected in /opt/iobroker. Restoring ioBroker..."
mv /opt/iobroker/*.tar.gz /opt/
tar -xf /opt/initial_iobroker.tar -C /
mkdir /opt/iobroker/backups
mv /opt/*.tar.gz /opt/iobroker/backups/
iobroker restore 0 > /opt/iobroker/log/restore.log 2>&1
echo "Done."
echo ' '
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "!!!!! IMPORTANT NOTE !!!!!"
echo "!!!!! The sartup script restored iobroker from a backup file. !!!!!"
echo "!!!!! Check /opt/iobroker/log/restore.log to see if restore was successful. !!!!!"
echo "!!!!! When ioBroker now starts it will reinstall all Adapters automatically. !!!!!"
echo "!!!!! This might be take a looooong time! Please be patient! !!!!!"
echo "!!!!! You can view installation process by taking a look at ioBroker log. !!!!!"
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
else
if [ -f /opt/iobroker/iobroker ]
then
echo "Existing installation of ioBroker detected in /opt/iobroker."
else
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
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
echo ' '

View File

@@ -100,37 +100,36 @@ echo "----- Step 2 of 5: Detecting ioBroker installation -----"
echo "$(printf -- '-%.0s' {1..60})"
echo ' '
if [ `ls -1a|wc -l` -lt 3 ]
if [ `find /opt/iobroker -type f | wc -l` -lt 1 ]
then
echo "There is no data detected in /opt/iobroker. Restoring initial ioBroker installation..."
tar -xf /opt/initial_iobroker.tar -C /
echo "Done."
elif [ -f /opt/iobroker/iobroker ]
then
echo "Existing installation of ioBroker detected in /opt/iobroker."
elif [ $(ls iobroker_20* 2> /dev/null | wc -l) != "0" ] && [ $(tar -ztvf /opt/iobroker/iobroker_20*.tar.gz "backup/backup.json" 2> /dev/null | wc -l) != "0" ]
then
echo "ioBroker backup file detected in /opt/iobroker. Restoring ioBroker..."
mv /opt/iobroker/*.tar.gz /opt/
tar -xf /opt/initial_iobroker.tar -C /
mkdir /opt/iobroker/backups
mv /opt/*.tar.gz /opt/iobroker/backups/
iobroker restore 0 > /opt/iobroker/log/restore.log 2>&1
echo "Done."
echo ' '
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "!!!!! IMPORTANT NOTE !!!!!"
echo "!!!!! The sartup script restored iobroker from a backup file. !!!!!"
echo "!!!!! Check /opt/iobroker/log/restore.log to see if restore was successful. !!!!!"
echo "!!!!! When ioBroker now starts it will reinstall all Adapters automatically. !!!!!"
echo "!!!!! This might be take a looooong time! Please be patient! !!!!!"
echo "!!!!! You can view installation process by taking a look at ioBroker log. !!!!!"
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
else
if [ -f /opt/iobroker/iobroker ]
then
echo "Existing installation of ioBroker detected in /opt/iobroker."
else
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
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
echo ' '