diff --git a/setup/start.sh b/setup/start.sh index e26a4569c..15f1591fd 100755 --- a/setup/start.sh +++ b/setup/start.sh @@ -28,7 +28,7 @@ set_progress() { (echo "{ \"update\": { \"percent\": \"${percent}\", \"message\": \"${message}\" }, \"backup\": {} }" > "${SETUP_PROGRESS_JSON}") 2> /dev/null || true # as this will fail in non-update mode } -set_progress "10" "Configuring host" +set_progress "20" "Configuring host" sed -e 's/^#NTP=/NTP=0.ubuntu.pool.ntp.org 1.ubuntu.pool.ntp.org 2.ubuntu.pool.ntp.org 3.ubuntu.pool.ntp.org/' -i /etc/systemd/timesyncd.conf timedatectl set-ntp 1 timedatectl set-timezone UTC diff --git a/src/backups.js b/src/backups.js index 23aa89f34..479dd30e9 100644 --- a/src/backups.js +++ b/src/backups.js @@ -355,6 +355,8 @@ function backupBoxAndApps(auditSource, callback) { progress.set(progress.BACKUP, processed, ''); async.mapSeries(allApps, function iterator(app, iteratorCallback) { + progress.set(progress.BACKUP, processed, 'Backing up app at ' + app.location); + ++processed; backupApp(app, app.manifest, prefix, function (error, backupId) { @@ -375,6 +377,8 @@ function backupBoxAndApps(auditSource, callback) { backupIds = backupIds.filter(function (id) { return id !== null; }); // remove apps in bad state that were never backed up + progress.set(progress.BACKUP, processed, 'Backing up system data'); + backupBoxWithAppBackupIds(backupIds, prefix, function (error, filename) { progress.set(progress.BACKUP, 100, error ? error.message : ''); diff --git a/src/cloudron.js b/src/cloudron.js index f6e069a6f..a80e2c1a1 100644 --- a/src/cloudron.js +++ b/src/cloudron.js @@ -759,6 +759,8 @@ function doUpdate(boxUpdateInfo, callback) { debug('updating box %s %j', boxUpdateInfo.sourceTarballUrl, data); + progress.set(progress.UPDATE, 5, 'Downloading and extracting new version'); + shell.sudo('update', [ UPDATE_CMD, boxUpdateInfo.sourceTarballUrl, JSON.stringify(data) ], function (error) { if (error) return updateError(error); diff --git a/webadmin/src/js/update.js b/webadmin/src/js/update.js index 96bdb7f4d..c7c914ac9 100644 --- a/webadmin/src/js/update.js +++ b/webadmin/src/js/update.js @@ -25,9 +25,15 @@ app.controller('Controller', ['$scope', '$http', '$interval', function ($scope, $scope.error = true; $scope.message = data.update.message; } else { - $scope.title = 'Update in progress...'; - $scope.percent = data.update.percent; - $scope.message = data.update.message; + if (data.backup && data.backup.percent < 100) { + $scope.title = 'Backup in progress...'; + $scope.percent = (data.backup.percent / 100) * 50; + $scope.message = data.backup.message; + } else { + $scope.title = 'Update in progress...'; + $scope.percent = 50 + ((data.update.percent / 100) * 50); // first half is backup + $scope.message = data.update.message; + } } } else { // migrating if (data.migrate.percent === -1) { @@ -55,7 +61,7 @@ app.controller('Controller', ['$scope', '$http', '$interval', function ($scope, }); } - $interval(fetchProgress, 5000); + $interval(fetchProgress, 2000); fetchProgress(); }]);