diff --git a/migrations/20170423032116-settings-set-default-retentionSecs.js b/migrations/20170423032116-settings-set-default-retentionSecs.js new file mode 100644 index 000000000..a963d0616 --- /dev/null +++ b/migrations/20170423032116-settings-set-default-retentionSecs.js @@ -0,0 +1,20 @@ +'use strict'; + +exports.up = function(db, callback) { + db.all('SELECT value FROM settings WHERE name="backup_config"', function (error, results) { + if (error) return callback(error); + + var backupConfig = JSON.parse(results[0].value); + if (backupConfig.provider === 'filesystem') { + backupConfig.retentionSecs = 2 * 24 * 60 * 60; // 2 days + } else { + backupConfig.retentionSecs = -1; + } + db.runSql('UPDATE settings SET value=? WHERE name="backup_config"', [ JSON.stringify(backupConfig) ], callback); + + }); +}; + +exports.down = function(db, callback) { + callback(); +}; diff --git a/scripts/cloudron-setup b/scripts/cloudron-setup index e9d4dd4e5..1167c389a 100755 --- a/scripts/cloudron-setup +++ b/scripts/cloudron-setup @@ -196,7 +196,8 @@ if [[ -z "${dataJson}" ]]; then "backupConfig" : { "provider": "filesystem", "backupFolder": "/var/backups", - "key": "${encryptionKey}" + "key": "${encryptionKey}", + "retentionSecs": 172800 }, "updateConfig": { "prerelease": ${prerelease} diff --git a/src/settings.js b/src/settings.js index 70a37c9f4..43a62c596 100644 --- a/src/settings.js +++ b/src/settings.js @@ -97,7 +97,8 @@ var gDefaults = (function () { result[exports.BACKUP_CONFIG_KEY] = { provider: 'filesystem', key: '', - backupFolder: '/var/backups' + backupFolder: '/var/backups', + retentionSecs: 172800 }; result[exports.TLS_CONFIG_KEY] = { provider: 'letsencrypt-prod' }; result[exports.UPDATE_CONFIG_KEY] = { prerelease: false };