n8n-nodes-backup-odoo-container
v0.2.6
Published
n8n node for executing Odoo backup scripts on remote servers via SSH
Maintainers
Readme
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:
npm install n8n-nodes-backup-odoo-containerAfter installation, restart your n8n instance.
Usage
- Add the node to your workflow by searching for "Odoo Backup SSH"
- Configure SSH credentials using the "SSH Connection API" credential type
- 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
- Backup Directory: Where backups will be stored (e.g.,
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:
{
"backup_name": "odoo_mydb_2025-01-15_14-30-00.zip",
"backup_path": "/opt/backups/odoo_mydb_2025-01-15_14-30-00.zip",
"remote_path": "s3://mybucket/backups/odoo_mydb_2025-01-15_14-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 nameSPACE_FOLDER: Folder path within the bucket (optional)
What the Script Does
- Creates PostgreSQL dump using
pg_dumpin custom format - Copies Odoo filestore from the web container
- Packages everything into a ZIP file
- Uploads to Spaces (if configured) while saving local copy
- Applies retention policy (keeps 7 most recent backups)
- Returns JSON with backup details
Development
To build and test the node:
# Install dependencies
npm install
# Build the node
npm run build
# Lint the code
npm run lint
# Create package
npm packCompatibility
- 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
Author
Damian Soto - [email protected]
