backuptarget: pseudo target for import and restore
This commit is contained in:
@@ -27,7 +27,6 @@ const apps = require('./apps.js'),
|
||||
fs = require('fs'),
|
||||
iputils = require('./iputils.js'),
|
||||
manifestFormat = require('@cloudron/manifest-format'),
|
||||
mounts = require('./mounts.js'),
|
||||
os = require('os'),
|
||||
path = require('path'),
|
||||
paths = require('./paths.js'),
|
||||
@@ -331,13 +330,11 @@ async function installCommand(app, args, progressCallback) {
|
||||
await progressCallback({ percent: 65, message: 'Downloading backup and restoring addons' });
|
||||
await services.setupAddons(app, app.manifest.addons);
|
||||
await services.clearAddons(app, app.manifest.addons);
|
||||
const backupConfig = restoreConfig.backupConfig;
|
||||
const mountObject = await backupTargets.setupManagedStorage(backupConfig, `/mnt/appimport-${app.id}`);
|
||||
if (mountObject) await progressCallback({ percent: 70, message: 'Setting up mount for importing' });
|
||||
backupConfig.rootPath = backupTargets.getRootPath(backupConfig, `/mnt/appimport-${app.id}`);
|
||||
const backupTarget = restoreConfig.backupTarget;
|
||||
await backupTargets.storageApi(backupTarget).setup(backupTarget.config);
|
||||
await backuptask.downloadApp(app, restoreConfig, (progress) => { progressCallback({ percent: 75, message: progress.message }); });
|
||||
await apps.loadConfig(app);
|
||||
if (mountObject) await mounts.removeMount(mountObject);
|
||||
await backupTargets.storageApi(backupTarget).teardown(backupTarget.config);
|
||||
await progressCallback({ percent: 75, message: 'Restoring addons' });
|
||||
await services.restoreAddons(app, app.manifest.addons);
|
||||
} else { // clone and restore
|
||||
|
||||
Reference in New Issue
Block a user