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
- Predefined Connection: Select from saved SSH connections
- New Credentials: Create new SSH credentials (password or private key)
- ✅ Docker installed and running
- ✅ Odoo containers running (database and web)
- ✅ Required tools: pg_dump
,zip,docker - ✅ Optional: s3cmd
(for DigitalOcean Spaces uploads) - SPACE_NAME
: Your DigitalOcean Spaces bucket name - SPACE_FOLDER
: Folder path within the bucket (optional) - 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
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
- Odoo Container: Name of the container with PostgreSQL access
- Odoo Web Container: Name of the container with the filestore
- Database User: PostgreSQL username (usually )
- Database Name: Name of the Odoo database to backup
Authentication Options
The node supports two authentication methods:
Server Requirements
Your remote server must have:
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:
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
License
Author
Damian Soto – [email protected]


