Skip to main content

Storage Backends

BackupX aims to accept any place you'd want to drop a backup file.

Built-in providers​

TypeRequired fields
Alibaba OSSRegion + AccessKey ID/Secret + Bucket (endpoint auto-assembled)
Tencent COSRegion + SecretId/SecretKey + Bucket (format name-appid)
Qiniu KodoRegion + AccessKey/SecretKey + Bucket
S3-compatibleEndpoint + AccessKey + Bucket
Google DriveClient ID/Secret + OAuth authorization
WebDAVURL + username/password
FTP / FTPSHost + port + username/password
Local diskTarget directory (absolute path) + optional Master relay for remote Agents

New local-disk targets enable Relay remote backups through Master by default. This makes the configured path belong to the Master, so a storage server mounted there can collect backups from many source Agents. Turn the switch off when the path intentionally belongs to each Agent. Existing targets retain their previous Agent-local behavior until explicitly changed.

Storage capacity and backup quotas​

Physical storage usage is shown only when the backend returns total capacity and used bytes. S3-compatible storage, including MinIO, does not provide this through the standard S3 API or rclone About capability. Missing capacity is not treated as zero.

For these targets, BackupX displays the size tracked by backup records. Set a backup quota on the storage target to display a backup quota percentage. This soft quota is enforced by BackupX; it is not the bucket quota or the total disk capacity of the MinIO cluster. The tracked size does not include objects created by other applications or untracked object versions. For MinIO, enable Query MinIO cluster capacity on the S3 target and supply the monitoring bearer_token generated by mc admin prometheus generate <alias>. The token is optional only for an existing anonymous metrics endpoint. BackupX reads /minio/v2/metrics/cluster on the configured S3 Endpoint, including any reverse-proxy path prefix. The page explicitly displays the entire cluster’s physical capacity, calculated from its raw total and free bytes; it is not bucket usage or the usable capacity after erasure coding.

The monitoring token is encrypted and masked like other secrets, and remains on the Master when backup or restore configurations are sent to Agents. Capacity queries have a timeout and reject redirects. If permission is denied, the endpoint is unavailable, or metrics are invalid, the page reports a query failure rather than zero capacity. Ordinary S3 targets retain the backup-record/quota display unless this MinIO option is enabled. Bucket usage and bucket quotas still require MinIO’s console or other monitoring tools.

See the MinIO metrics reference and monitoring authentication guide.

Rclone backends​

Every rclone backend is exposed as a first-class storage type — SFTP, Azure Blob, Dropbox, OneDrive, Backblaze B2, Wasabi, pCloud, HDFS, and many more.

  • The form groups fields into required and advanced (advanced collapsed by default)
  • Validation and connection tests reuse rclone's built-in probe

Multiple targets per task​

A backup task can fan out to multiple targets in parallel. All targets receive the same artifact; a per-target status is recorded:

  • Success: storage path + size
  • Failed: error message

If any target fails after retries, the record status is failed but successful targets are preserved (no rollback).