backups: add synology c2

This commit is contained in:
Girish Ramakrishnan
2026-01-06 16:34:04 +01:00
parent 554a77fbca
commit 84a10d4eb1
7 changed files with 13 additions and 4 deletions
@@ -90,6 +90,9 @@ async function onSubmit() {
} else if (provider.value === 'hetzner-objectstorage') {
config.region = 'us-east-1';
config.signatureVersion = 'v4';
} else if (provider.value === 'synology-c2-objectstorage') {
config.region = 'us-east-1';
config.signatureVersion = 'v4';
}
} else if (mountlike(provider.value)) {
config.prefix = prefix;
@@ -202,8 +202,8 @@ onMounted(async () => {
<TextInput id="backupDirInput" v-model="providerConfig.backupDir" placeholder="/opt/backups" required />
</FormGroup>
<!-- S3/Minio/SOS/GCS/UpCloud/B2/R2 -->
<FormGroup v-if="provider === 'minio' || provider === 'upcloud-objectstorage' || provider === 'backblaze-b2' || provider === 'cloudflare-r2' || provider === 's3-v4-compat' || provider === 'idrive-e2'">
<!-- Endpoint - S3/Minio/SOS/GCS/UpCloud/B2/R2/C2 -->
<FormGroup v-if="provider === 'minio' || provider === 'upcloud-objectstorage' || provider === 'backblaze-b2' || provider === 'cloudflare-r2' || provider === 's3-v4-compat' || provider === 'idrive-e2' || provider === 'synology-c2-objectstorage'">
<label for="endpointInput">{{ $t('backups.configureBackupStorage.s3Endpoint') }}</label>
<TextInput id="endpointInput" v-model="providerConfig.endpoint" placeholder="https://s3endpoint.example.com" required />
</FormGroup>
@@ -222,7 +222,7 @@ onMounted(async () => {
<small class="helper-text">{{ $t('backups.configureBackupStorage.prefixHelperText') }}</small>
</FormGroup>
<!-- S3/Minio/SOS/GCS -->
<!-- Region Selector -->
<FormGroup v-if="
provider === 's3' ||
provider === 'digitalocean-spaces' ||
@@ -100,6 +100,9 @@ async function onSubmit() {
} else if (provider.value === 'hetzner-objectstorage') {
data.region = 'us-east-1';
data.signatureVersion = 'v4';
} else if (provider.value === 'synology-c2-objectstorage') {
data.region = 'us-east-1';
data.signatureVersion = 'v4';
}
} else if (mountlike(provider.value)) {
data.prefix = providerConfig.value.prefix;
+1
View File
@@ -306,6 +306,7 @@ const STORAGE_PROVIDERS = [
{ name: 'S3 API Compatible (v4)', value: 's3-v4-compat' },
{ name: 'Scaleway Object Storage', value: 'scaleway-objectstorage', regions: REGIONS_SCALEWAY },
{ name: 'SSHFS Mount', value: 'sshfs' },
{ name: 'Synology C2', value: 'synology-c2-objectstorage' },
{ name: 'UpCloud Object Storage', value: 'upcloud-objectstorage' },
{ name: 'Vultr Object Storage', value: 'vultr-objectstorage', regions: REGIONS_VULTR },
{ name: 'Wasabi', value: 'wasabi', regions: REGIONS_WASABI },
+1 -1
View File
@@ -32,7 +32,7 @@ function s3like(provider) {
|| provider === 'scaleway-objectstorage' || provider === 'wasabi' || provider === 'backblaze-b2' || provider === 'cloudflare-r2'
|| provider === 'linode-objectstorage' || provider === 'ovh-objectstorage' || provider === 'ionos-objectstorage'
|| provider === 'vultr-objectstorage' || provider === 'upcloud-objectstorage' || provider === 'idrive-e2'
|| provider === 'contabo-objectstorage';
|| provider === 'contabo-objectstorage' || provider === 'synology-c2-objectstorage';
}
function regionName(provider, endpoint) {