Back to Nodes

Backup Odoo Container

Last updated Aug 14, 2025

n8n node for executing Odoo backup scripts on remote servers via SSH

18 Weekly Downloads
91 Monthly Downloads

Description

n8n-nodes-backup-odoo-container

An n8n community node for executing Odoo backup scripts on remote servers via SSH.

Features

  • SSH Remote Execution: Execute backup scripts on remote servers securely via SSH
  • Complete Odoo Backup: Creates PostgreSQL dumps and copies filestore in a single ZIP file
  • DigitalOcean Spaces Integration: Optional upload to DigitalOcean Spaces with streaming
  • Local Retention Policy: Automatically keeps only the 7 most recent backups locally
  • JSON Output: Returns structured data with backup details
  • Docker Integration: Works with containerized Odoo deployments
  • Installation

    Install the node in your n8n instance:

    “bash
    npm install n8n-nodes-backup-odoo-container
    `

    After installation, restart your n8n instance.

    Usage

    1. Add the node to your workflow by searching for "Odoo Backup SSH"
    2. Configure SSH credentials using the "SSH Connection API" credential type
    3. Set the required parameters:
    - Backup Directory: Where backups will be stored (e.g.,
    /opt/backups)
    - Odoo Container: Name of the container with PostgreSQL access
    - Odoo Web Container: Name of the container with the filestore
    - Database User: PostgreSQL username (usually
    odoo)
    - Database Name: Name of the Odoo database to backup

    Authentication Options

    The node supports two authentication methods:

  • Predefined Connection: Select from saved SSH connections
  • New Credentials: Create new SSH credentials (password or private key)
  • Server Requirements

    Your remote server must have:

  • ✅ Docker installed and running
  • ✅ Odoo containers running (database and web)
  • ✅ Required tools: pg_dump, zip, docker
  • ✅ Optional: s3cmd (for DigitalOcean Spaces uploads)
  • Output

    The node returns a JSON object with:

    `json
    {
    "backupname": "odoomydb2025-01-1514-30-00.zip",
    "backuppath": "/opt/backups/odoomydb2025-01-1514-30-00.zip",
    "remotepath": "s3://mybucket/backups/odoomydb2025-01-1514-30-00.zip"
    }
    `

    Optional DigitalOcean Spaces Upload

    To enable automatic upload to DigitalOcean Spaces, set these environment variables on your server:

  • SPACE_NAME: Your DigitalOcean Spaces bucket name
  • SPACE_FOLDER: Folder path within the bucket (optional)
  • What the Script Does

    1. Creates PostgreSQL dump using pg_dump in custom format
    2. Copies Odoo filestore from the web container
    3. Packages everything into a ZIP file
    4. Uploads to Spaces (if configured) while saving local copy
    5. Applies retention policy (keeps 7 most recent backups)
    6. Returns JSON with backup details

    Development

    To build and test the node:

    `bash

    Install dependencies

    npm install

    Build the node

    npm run build

    Lint the code

    npm run lint

    Create package

    npm pack
    “

    Compatibility

  • n8n: Compatible with n8n community edition
  • Node.js: Requires Node.js 20.15 or higher
  • Odoo: Works with any Odoo version running in Docker containers

License

MIT

Author

Damian Soto – [email protected]

Repository

GitHub Repository

From our network Other tools and sites we build