Implement SFTP Storage
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Adds SFTP as a storage backend option in Odoo, letting users configure an SFTP server and use it to store and retrieve files.
This module extends the storage backend configuration to support SFTP. When you create or edit a storage backend, you can now choose 'SFTP' as the backend type. A new 'SFTP' section appears on the form where you can enter the SFTP host, port (default 22), authentication method (password or private key), login, and either a password or an SSH private key. The password and private key fields are hidden depending on the chosen authentication method.
The module provides the technical adapter that connects to the SFTP server to perform file operations: adding, reading, listing, moving, and deleting files. It also includes a configuration validation that checks the connection by listing the root directory.
A post-migration script ensures that the 'storage_backend_sftp_environment' module is available and installed when upgrading, to preserve server environment managed fields. This module depends on the 'storage_backend' module and requires the Python 'paramiko' library.
Depends on
Required by other modules
Models and fields (2)
- sftp.adapter · new model
- storage.backend · extends an existing modelsftp_port (SFTP Port), sftp_login (SFTP Login), sftp_server (SFTP Host), backend_type, sftp_password (SFTP Password), sftp_auth_method (SFTP Authentification Method), sftp_ssh_private_key (SSH private key)
Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 7 confirmed, 2 with no information of 9 versions.
Sources · Odoo 15.0
Confirmed on 2026-11-03 in branch 15.0 of OCA/storage.
terminal Installation and usage
No verified informationInstallation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.