diff --git a/src/backups.js b/src/backups.js index 97f40cd64..3b17e2692 100644 --- a/src/backups.js +++ b/src/backups.js @@ -101,6 +101,7 @@ function api(provider) { case 'filesystem': return require('./storage/filesystem.js'); case 'minio': return require('./storage/s3.js'); case 's3-v4-compat': return require('./storage/s3.js'); + case 'digitalocean-spaces': return require('./storage/s3.js'); case 'exoscale-sos': return require('./storage/s3.js'); case 'noop': return require('./storage/noop.js'); default: return null; diff --git a/webadmin/src/views/settings.html b/webadmin/src/views/settings.html index 26052737f..7bbf7e4f1 100644 --- a/webadmin/src/views/settings.html +++ b/webadmin/src/views/settings.html @@ -336,7 +336,7 @@
{{ backupConfig.backupFolder }} - {{ backupConfig.bucket + '/' + backupConfig.prefix }} + {{ backupConfig.bucket + '/' + backupConfig.prefix }} {{ backupConfig.region + ' ' + backupConfig.bucket + '/' + backupConfig.prefix }}
diff --git a/webadmin/src/views/settings.js b/webadmin/src/views/settings.js index a01e9de32..d5312b014 100644 --- a/webadmin/src/views/settings.js +++ b/webadmin/src/views/settings.js @@ -42,6 +42,7 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca $scope.storageProvider = [ { name: 'Amazon S3', value: 's3' }, + { name: 'DigitalOcean Spaces', value: 'digitalocean-spaces' }, { name: 'Exoscale SOS', value: 'exoscale-sos' }, { name: 'Filesystem', value: 'filesystem' }, { name: 'Minio', value: 'minio' }, @@ -296,7 +297,7 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca }; $scope.s3like = function (provider) { - return provider === 's3' || provider === 'minio' || provider === 's3-v4-compat' || provider === 'exoscale-sos'; + return provider === 's3' || provider === 'minio' || provider === 's3-v4-compat' || provider === 'exoscale-sos' || provider === 'digitalocean-spaces'; }; $scope.configureBackup = { @@ -369,8 +370,10 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca backupConfig.endpoint = 'https://sos.exo.io'; backupConfig.region = 'us-east-1'; backupConfig.signatureVersion = 'v2'; + } else if (backupConfig.provider === 'digitalocean-spaces') { + backupConfig.endpoint = 'https://nyc3.digitaloceanspaces.com'; + backupConfig.region = 'us-east-1'; } - } else if (backupConfig.provider === 'filesystem') { backupConfig.backupFolder = $scope.configureBackup.backupFolder; }