OdooWiki OCA HUB

Storage Backend S3

storage_backend_s3 folder_open OCA/storage open_in_new
Storage License: LGPL-3

Add the possibility to store and get data from amazon S3 for your storage backend

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

This module lets you store Odoo files in Amazon S3 instead of on the server. You configure an S3 storage backend with your AWS credentials, bucket and region, and Odoo then saves and retrieves files from that bucket.

This module adds Amazon S3 as a storage option for Odoo's storage backend system. On the storage backend form, a new "Amazon S3" choice appears in the backend type. When selected, a dedicated Amazon S3 section becomes visible where you enter the AWS Host (optional, for non-standard providers), Access Key ID, Secret Access Key, Bucket name, Region, Cache Control, and file ACL. Access Key ID, Secret Access Key, Bucket and Region are required when the type is Amazon S3. The region list includes standard AWS regions plus an "Empty or Other" option that reveals a free-text field for a custom region.

The module handles the actual file operations through an S3 adapter: it checks whether the bucket exists and creates it if needed, uploads files with the chosen content type, cache control and ACL, downloads files, lists objects under the configured directory, and deletes objects. If a file to delete is not found, it simply returns without error. Connection or storage errors are shown to the user as clear messages.

It extends the storage.backend model and adds fields such as aws_host, aws_bucket, aws_access_key_id, aws_secret_access_key, aws_region, aws_cache_control, aws_other_region and aws_file_acl. It depends on the storage_backend module and requires the Python boto3 library.

Depends on

Required by other modules

Models and fields (2)
  • s3.adapter · new model
  • storage.backend · extends an existing modelaws_host (AWS Host), aws_bucket (Bucket), aws_region (Region), aws_file_acl, backend_type, aws_other_region (Other region), aws_access_key_id (Access Key ID), aws_cache_control, aws_secret_access_key (Secret Access 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-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 5 confirmed, 4 with no information of 9 versions.

terminal Installation and usage

OCA documentation · Odoo 18.0

Go to "Technical -\> Storage backend -\> Storage backend" and create a new backend of type "Amazon S3".

Example of configuration via env

[storage_backend.name_of_your_backend]
backend_type=amazon_s3
served_by=external
base_url=https://your.cdn.domain.com
directory_path=foo  # if you want to store in this folder
url_include_directory_path=1  # if you want to include the above folder in the URL
aws_bucket=your-bucket-name
aws_file_acl=public-read
aws_access_key_id=$SECRET
aws_secret_access_key=$MORESECRET
aws_region=eu-central-1

No verified information in OCA: Installation, Usage.

info

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.