Skip to content

Powered by Grav

Backup regions, bucket names & target URLs

Backup regions, bucket names & target URLs

multiback/mybackup construct the bucket name and the Duplicity target URL deterministically per backend. You do not pick the bucket name; you create a matching bucket up front where the provider requires it.

Bucket name construction

_construct_bucket_name builds:

TXT
back-to-<user>-<hostname-with-dots-as-dashes>-<service-with-underscores-as-dashes>
  • <user> — the path-set selector: global, data or custom root-side, or the tenant's o### user.
  • <hostname>_hName read from /etc/hostname (falling back to hostname -f), dots replaced with dashes. Verify with cat /etc/hostname, not uname -n — the two can differ and only /etc/hostname is used.
  • <service> — the backend key with underscores replaced by dashes (aws_one_zone becomes aws-one-zone).

Example: tenant o123 on fr8.eu.aegir.cc to Wasabi gives back-to-o123-fr8-eu-aegir-cc-wasabi. The underscore-to-dash swap applies only inside the bucket name; the credential file keeps the underscored key (do_spaces.txt).

The legacy tools use their own host-wide names: backboa uses daily-boa-<host-with-dashes>, duobackboa uses daily-remote-<host-with-dashes> (see Legacy backboa).

Per-backend target URLs

_set_backup_target builds the Duplicity URL, interpolating the credential values per backend (the passphrase is never here — it is the separate PASSPHRASE env var):

Backend key Target URL form
aws / aws_one_zone / aws_standard_ia boto3+s3://<bucket> plus --s3-endpoint-url https://s3.dualstack.<region>.amazonaws.com --s3-region-name <region> (the two IA variants add --s3-use-ia)
azure azure://<storage-account>@<bucket>
b2 b2://<account-id>:<application-key>@<bucket> (both URL-encoded)
cloudflare boto3+s3://<key>:<secret>@<account>.r2.cloudflarestorage.com/<bucket>
do_spaces s3://<key>:<secret>@<region>/<bucket>
gcs gs://<bucket>
ibm ibmcos://<api-key>:<service-instance>@<region>/<bucket>
linode s3://<access-key>:<secret-key>@<region>/<bucket>
wasabi s3://<access-key>:<secret-key>@<region>/<bucket>

The region comes from the backend's own region variable in the credential file (AWS_REGION, DO_SPACES_REGION, LINODE_REGION, WASABI_REGION, IBM_REGION) — Cloudflare R2 is region-less (geographic placement is automatic), and B2/Azure/GCS take the region from the account, not the URL.

Bucket auto-creation policy

Most providers auto-create the bucket on first write if credentials have permission. Several do not and must have the bucket created by hand first:

Provider Auto-create Action
Wasabi Yes none
Backblaze B2 Yes none
DigitalOcean Spaces Yes (write perms) none
Google Cloud Storage Yes (write perms) none
Microsoft Azure Blob Yes none
AWS S3 Unreliable create manually (region propagation delays)
Cloudflare R2 Not supported create manually before first backup
IBM Cloud Object Storage Not supported create manually before first backup
Linode Object Storage Not supported create manually before first backup

When creating by hand, use the exact constructed name (back-to-<user>-<hostname-with-dashes>-<service-with-dashes>) in the provider console, keep the bucket private (BOA uses per-account credentials, not bucket ACLs), and pick the region closest to the host.

Connectivity test

After credentials and (where required) the bucket are in place, verify with the test action — it runs duplicity cleanup --dry-run --timeout 8 and reports whether it can reach the bucket:

SH
multiback test wasabi data

test failure messages distinguish a missing/wrong-named bucket from a backend-connection failure. mybackup has no test action (its only verb is restore); a tenant's connectivity is exercised through the root-side scheduled run.

Choosing a region

  • Match the host's geographic region for lower restore latency and egress.
  • Avoid cross-continent destinations unless data-residency requires it.
  • A single-region account per host is sufficient; provider-level cross-region replication is overkill for this use case.

Region codes per backend

The region code is provider-defined reference, not a value BOA validates. multiback interpolates whatever the credential file's region variable holds straight into the target URL in _set_backup_target, with no allowlist, so a wrong or misspelled code surfaces only when the test action tries to reach the bucket. For Wasabi, DigitalOcean Spaces, Linode and IBM the code is the value for WASABI_REGION, DO_SPACES_REGION, LINODE_REGION and IBM_REGION; for Backblaze B2, Azure and Google Cloud Storage the target URL carries no region, so the code is what you choose when you create the account or bucket at the provider. Cloudflare R2 has no region — placement is automatic, with optional location hints.

These are provider-defined lists that grow as each vendor opens new data centres, so treat the tables below as a snapshot rather than an allowlist and check the linked provider reference for the current set. The Google Cloud Storage, Azure and IBM tables are partial to begin with; the others track each provider's full published list at the time of writing. The AWS S3 backend uses the standard AWS region names (us-east-1, eu-central-1, …); its full accepted set is enumerated under Legacy backboa.

Wasabi

Data centre Region code
Virginia, USA us-east-1
Virginia, USA us-east-2
Oregon, USA us-west-1
Plano, Texas, USA us-central-1
Toronto, Canada ca-central-1
London, England eu-west-1
Paris, France eu-west-2
Amsterdam, Netherlands eu-central-1
Frankfurt, Germany eu-central-2
Milan, Italy eu-south-1
Tokyo, Japan ap-northeast-1
Osaka, Japan ap-northeast-2
Singapore ap-southeast-1
Sydney, Australia ap-southeast-2

Current list: Wasabi storage regions.

Backblaze B2

Data centre Region code
Amsterdam, Netherlands eu-central
Reston, Virginia us-east
Sacramento, California us-west
Stockton, California us-west
Phoenix, Arizona us-west
Toronto, Ontario ca-east

B2 derives the region from the account, so the b2:// target URL carries no region and these codes are informational only. The region is fixed when you create the B2 account and cannot be changed afterwards — to back up to more than one B2 region you need a separate B2 account per region. Current list: Backblaze B2 data regions.

DigitalOcean Spaces

Data centre Region code
New York City, United States nyc3
San Francisco, United States sfo2
San Francisco, United States sfo3
Amsterdam, Netherlands ams3
Singapore sgp1
London, United Kingdom lon1
Frankfurt, Germany fra1
Toronto, Canada tor1
Bangalore, India blr1
Sydney, Australia syd1

Current list: DigitalOcean regional availability.

Google Cloud Storage

GCS takes its location from the bucket, not the target URL; the code is set when the bucket is created. Partial list:

Data centre Region code
Iowa (US Central) us-central1
South Carolina (US East) us-east1
Northern Virginia (US East) us-east4
Oregon (US West) us-west1
Los Angeles (US West) us-west2
Salt Lake City (US West) us-west3
Las Vegas (US West) us-west4
Montreal (Canada) northamerica-northeast1
São Paulo (South America) southamerica-east1
Santiago (South America) southamerica-west1
Finland (Europe) europe-north1
Belgium (Europe) europe-west1
London (Europe) europe-west2
Frankfurt (Europe) europe-west3
Netherlands (Europe) europe-west4
Zurich (Europe) europe-west6
Warsaw (Europe) europe-central2
Sydney (Australia) australia-southeast1
Jakarta (Indonesia) asia-southeast2
Singapore asia-southeast1
Taiwan asia-east1
Hong Kong asia-east2
Tokyo asia-northeast1
Osaka asia-northeast2
Seoul asia-northeast3
Mumbai asia-south1
Delhi asia-south2

Current list: Cloud Storage locations.

Azure Blob Storage

Azure takes the region from the storage account, not the target URL. Partial list:

Region name Region code
East US eastus
East US 2 eastus2
Central US centralus
North Central US northcentralus
South Central US southcentralus
West US westus
West US 2 westus2
West US 3 westus3
Canada Central canadacentral
Canada East canadaeast
Brazil South brazilsouth
Brazil Southeast brazilsoutheast
Europe North northeurope
Europe West westeurope
France Central francecentral
France South francesouth
Germany North germanynorth
Germany West Central germanywestcentral
Switzerland North switzerlandnorth
Switzerland West switzerlandwest
UK South uksouth
UK West ukwest
Australia East australiaeast
Australia Southeast australiasoutheast
Australia Central australiacentral

Current list: Azure geographies.

IBM Cloud Object Storage

Partial list:

Region name Region code
US Cross Region us
US South (Dallas) us-south
US East (Washington DC) us-east
EU Cross Region eu
EU Central (Frankfurt) eu-de
EU North (Oslo) eu-north
EU West (Milan) eu-it
Asia Pacific Cross Region ap
Asia Pacific North (Tokyo) jp-tok
Asia Pacific South (Sydney) au-syd

Current list: IBM Cloud Object Storage endpoints.

Akamai (Linode) Object Storage

Data centre Region code
Amsterdam, Netherlands nl-ams-1
Atlanta, GA, USA us-southeast-1
Chennai, India in-maa-1
Chicago, IL, USA us-ord-1
Frankfurt, Germany eu-central-1
Jakarta, Indonesia id-cgk-1
Los Angeles, CA, USA us-lax-1
Madrid, Spain es-mad-1
Miami, FL, USA us-mia-1
Milan, Italy it-mil-1
Newark, NJ, USA us-east-1
Osaka, Japan jp-osa-1
Paris, France fr-par-1
São Paulo, Brazil br-gru-1
Seattle, WA, USA us-sea-1
Singapore ap-south-1
Stockholm, Sweden se-sto-1
Washington, DC, USA us-iad-1

Current list: Akamai object storage.

Cloudflare R2

R2 has no region variable; placement is automatic. Optional location hints bias where data is stored (best-effort, not guaranteed):

Region Location hint
Western North America wnam
Eastern North America enam
Western Europe weur
Eastern Europe eeur
Asia-Pacific apac
Oceania oc

Current list: R2 data location hints.

© 2026 BOA Documentation. All rights reserved.