Skip to content

Setup Backup Storage

This tutorial covers connecting the Sadeem Backup Manager to your Master Odoo instance and enabling automated backups for subscriptions.


Overview

Architecture: the Backup Server is separate

The Backup Server is a separate Odoo instance with sadeem_saas_backup_manager installed. It is not part of the Master Odoo. It is registered with the Master via Backup Server records that store the URL and API key. Full documentation for installing and configuring the Backup Server itself is maintained separately and is not part of this manual.

Backups are handled by a separate Odoo instance running sadeem_saas_backup_manager (and optionally sadeem_saas_backup_manager_s3 for cloud storage). The Master Odoo communicates with it over HTTP using an API key.

Master Odoo  →  HTTP API + API Key  →  Backup Server Odoo
                                        ├── Local backups (disk)
                                        └── Cloud backups (S3-compatible)

Prerequisites

  • A running Odoo instance with sadeem_saas_backup_manager installed
  • An API key configured on that Backup Server
  • Network access from the Master Odoo to the Backup Server

Backup Health States

Once backups are running, Sadeem monitors each subscription's backup freshness:

State Meaning Condition
Normal Backups are current Last backup within 1 day
Warning Backups are delayed Last backup 1–5 days ago
Danger Backups are stale or missing Last backup more than 5 days ago, or no backups recorded

These states appear on the subscription form and the operator dashboard.


Step 1: Add the Backup Server

Go to Infrastructure → Backup Servers → New.

Field Value
Name Label, e.g. Main Backup Server
URL Internal URL the Master uses to reach the Backup Server, e.g. http://backup-server:8069
Download URL Public URL for customer download links, e.g. https://backup.yourdomain.com
API Key The API key configured on the Backup Server
Local Backup Enable to store backups on the Backup Server's disk
Cloud Backup Enable if sadeem_saas_backup_manager_s3 is installed

Save the record.


Step 2: Set as Company Default (optional)

Go to Settings → Sadeem SaaS → Default Backup Server and select the server.

When a subscription is confirmed without a backup server explicitly assigned, it inherits this company default automatically.


Step 3: Sync Cloud Accounts (if using cloud backup)

Sync Cloud Accounts calls GET /sadeem/backup/cloud-accounts on the Backup Server and retrieves the list of configured cloud storage accounts. This lets the Master know which cloud destinations are available without duplicating credentials.

If cloud backup is enabled:

  1. Open the backup server record
  2. Click Sync Cloud Accounts
  3. A wizard lists all cloud storage accounts configured on the Backup Server
  4. Select the accounts to associate and confirm

The synced accounts are stored locally on the Master. Their UUIDs are included in the payload sent to the Backup Server when a subscription registers, so the Backup Server knows which cloud destinations to use for that subscription.

Tip

Re-run Sync Cloud Accounts any time you add a new cloud storage account on the Backup Server.


Cloud Provider Credentials Reference

When configuring cloud storage accounts on the Backup Server, use the following values for each provider:

Provider Endpoint URL Access Key Secret Key Bucket Region
AWS S3 (leave blank — auto) IAM Access Key ID IAM Secret Access Key bucket name e.g. us-east-1
Cloudflare R2 https://<account_id>.r2.cloudflarestorage.com R2 API Token ID R2 API Token Secret bucket name auto
Backblaze B2 https://s3.<region>.backblazeb2.com Application Key ID Application Key bucket name e.g. us-west-004
MinIO https://minio.yourdomain.com MinIO Access Key MinIO Secret Key bucket name (any string)
Custom S3 your endpoint URL access key secret key bucket name required

Note

These credentials are entered in the Backup Server Odoo instance, not in the Master. The Master only stores the UUIDs of the accounts it has synced.


Step 4: Assign a Backup Server to a Subscription

Three ways, in order of precedence:

Method Where to set it
Manual Backup Server field on the subscription form
Environment default Backup Server on the Portainer environment or DBFilter server group
Company default Settings → Sadeem SaaS → Default Backup Server

Step 5: Registration Happens Automatically

When a subscription finishes building and reaches Running, Sadeem registers it with the Backup Server automatically. The Backup Server returns a UUID that Sadeem stores in the subscription's Backup UUID field.

Once registered:

  • The Backup tab on the subscription form shows backup history
  • Customers can request backups from the portal
  • Scheduled backups run on the Backup Server

Verifying

On the subscription form confirm:

  • Backup Server is set
  • Backup UUID is populated
  • Backup State shows Normal

On the customer portal (/my/subscriptions), the Backup tab is visible and shows backup lines.