跳至内容

Amazon S3 / MinIO Odoo Integration v.17

The tool to automatically synchronize Odoo attachments with Amazon S3 or/and MinIO files in both ways

487€ 438€

价格有效期至 2026-09-15 (根据促销活动 August-September 2026).
价格已包含全部必要依赖 = 89 80€(自身价格) + 398 358€ (Cloud Storage Solutions).
当前版本: 17.0.1.0.1

Enterprise
Community
Odoo.sh

This is the tool to integrate Amazon S3 or/and MinIO features with Odoo folders and files. The app automatically stores Odoo attachments and directories in an Amazon/MinIO S3 bucket and provides access to synced objects through presigned or public web links.

Synchronize Odoo folders with Amazon buckets

Automatic folders' structure

Decide which Odoo document types should have their own folders trees and synchronize those to Amazon/MinIO S3

Automatic regular sync

Rely on auto-synchronization between Odoo and Amazon S3/MinIO S3 based on scheduled jobs. No manual interaction is required

Bilateral sync

Odoo sends attachments to Amazon/MinIO S3 and retrieves files from there. Binary content is kept in the bucket, while Odoo provides direct access to synced objects

Cloud synchronization history

Control Amazon S3//MinIO S3 sync logs right in Odoo. Export and share those in case of any issues. Be notified of any client disconnections

File manager interface

Manage synced folders and attachments from a single Odoo view. Navigate by directories, search and download files, upload and move attachments to folders

Attachment box

Organize files of any Odoo object in a set of subfolders. Instantly access folders and files in the attachment box and in Amazon S3

Document-related folder in Amazon buckets
Amazon S3: sync attachments
Synchronize Odoo folders with  MinIO buckets
Document-related folder in MinIO S3
MinIO bucket: sync attachments

How synchronization works

Automatic two-sided sync

  • Configure sync for one or multiple Amazon S3 / MinIO S3 buckets or S3-compatible endpoints
  • Synchronization is bilateral. Updates in Odoo are reflected in Amazon S3 / MinIO S3 (direct sync); changes in Amazon S3 / MinIO S3 modify Odoo folders and attachments (backward sync)
  • Cloud connection with Amazon S3 / MinIO S3 might be reset. In this way, the app assumes getting all synced items back to Odoo (reverse sync)

Queue-based synchronization

  • Once in 15 minutes, the app examines updates in Odoo and Amazon S3 / MinIO S3 to prepare a synchronization queue
  • The connector lists the whole S3 root prefix to track virtual folders and object keys in a stable way during each sync run
  • If the app faces sync failures, it will retry operations afterward. Sync queue processing would not be stopped if there are items not blocked by such failures

Odoo attachments for Amazon S3 / MinIO S3: direct sync

  • Direct sync prepares the virtual folders hierarchy and uploads Odoo attachments to Amazon S3 / MinIO S3
  • Since S3 has no native folders, the app creates empty marker objects to keep empty Odoo directories visible
  • Renaming or moving S3 objects is implemented as copy and delete, following Amazon S3 / MinIO S3 mechanics

Amazon S3 objects for Odoo: backward sync

  • Backward sync checks whether any objects or sub-prefixes are added to Amazon S3 / MinIO S3 folders. If so, the app creates URL attachments or subdirectories inside linked Odoo directories
  • External S3 renames are treated according to S3 nature: old key removed and new key created. Odoo will converge by deleting and recreating the related attachment if required
  • In case of conflicts, direct sync changes are in general considered more important than backward updates
Amazon S3 subdirectories
MinIO S3 subdirectories
Odoo's root folder is in Amazon
Odoo's root folder is in MinIO

Amazon S3 URLs

Amazon S3 has a specific way to open existing objects. This connector always keeps links on the Amazon S3 side, not as local Odoo download links.

If Use Public URLs is enabled, Odoo saves direct S3 object URLs. Those links work only when the related bucket, prefix, object, CDN, or compatible storage endpoint is publicly accessible.

If Use Public URLs is disabled, Odoo saves AWS Console links to the related bucket object or prefix. Those links are intended for Amazon users: a person opening such a link must be logged in to AWS and must have enough IAM permissions to view the bucket object. If the user has no AWS access, Amazon will not open the file.

配置与安装提示: Amazon S3 / MinIO Odoo Integration Odoo v.17

Python dependency

The tool depends on the external library 'boto3'. Install this library for your Odoo server through the command:

pip3 install boto3

Amazon S3 Configuration and log in

  1. Turn on the option 'Amazon S3 Sync' (Cloud Storage > Configuration > Configuration). The optional add-on Amazon S3 Odoo Integration is required
  2. Open the Amazon S3 Console: https://console.aws.amazon.com/s3/
  3. Create a new bucket or choose an existing one. Copy the exact bucket name: it should be inserted in Odoo into the field 'Bucket'
  4. Open the bucket details and copy its AWS Region. Insert it in Odoo into the field 'Region' (for example, eu-west-1 or us-east-1)
  5. Open the AWS IAM Console: https://console.aws.amazon.com/iam/
  6. Create a new IAM user or choose an existing technical user. This user should have full rights to list, read, create, write, copy, and delete objects within the selected bucket. You can select the full right admin, or create a new policy (see below)
  7. In the IAM user form, open the tab 'Security credentials' and press 'Create access key'
  8. On the page 'Access key best practices & alternatives', select the option Application running outside AWS. This is the correct option when your Odoo server connects to S3 by access key from outside AWS, from Odoo.sh, from your own server, or from another hosting provider. If your Odoo is installed on an AWS EC2 instance, you may instead select Application running on an AWS compute service, but the fields copied to Odoo are the same
  9. Press 'Next'. On the next step, optionally enter a description tag such as Odoo S3 Sync, then press 'Create access key'
  10. On the final AWS page, copy Access key or Access key ID into the Odoo field 'Access Key'
  11. Copy Secret access key into the Odoo field 'Secret Key'. Important: AWS shows the secret key only once, so save it before closing the window
  12. If you use an S3-compatible provider instead of AWS S3, copy the endpoint URL from that provider's admin panel and insert it into Odoo into the field 'Amazon S3 endpoint URL'. For example, MinIO often uses a URL like https://minio.example.com or http://localhost:9000; LocalStack commonly uses http://localhost:4566
  13. Go to Odoo Cloud Storage > Configuration > Cloud Clients and press 'Create'
  14. As a reference, introduce any name which would be clear to all users
  15. As a Cloud client, choose 'Amazon S3'
  16. As a Root folder name, enter a title that will be used as the parent S3 prefix for all synced folders. For example, 'Odoo' or 'OdooERP'
  17. Fill in the fields 'Bucket', 'Region', 'Access Key', 'Secret Key', and, if needed, 'Amazon S3 endpoint URL' and addressing style
  18. Choose whether Odoo should use temporary presigned URLs or public bucket/CDN URLs. For private buckets, keep presigned URLs enabled and set their lifetime in seconds
  19. Press 'Confirm'. Odoo checks bucket access and creates or verifies the root folder prefix. Amazon S3 - Odoo synchronization is ready to be done
  20. Apply the newly created cloud client to folder rules and/or manual folders which should be synced to that Amazon S3 bucket
  21. Await the sync scheduled job to be started. For testing purposes only: trigger integration manually from Cloud Storage > Configuration > Configuration > the button 'Launch sync'.

Useful AWS documentation: creating an S3 bucket: https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html, managing IAM access keys: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html.

Bucket policy example

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListObjectsInBucket", "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3:::NAME_OF_YOUR_BUCKET" }, { "Sid": "AllObjectActions", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": "arn:aws:s3:::NAME_OF_YOUR_BUCKET/*" } ] }

Create a new AWS IAM user

Create a new IAM user in the AWS console to connect Amazon S3 with Odoo

Specify the IAM user name

Specify the IAM user name in the AWS create user wizard

Attach permission policies directly

Set permissions and choose to attach policies directly to the Amazon S3 IAM user

Amazon S3 bucket policy JSON example

Example JSON policy granting ListBucket, GetObject, PutObject and DeleteObject on the S3 bucket

Review and name the S3 policy

Review and name the faotools_bucket Amazon S3 policy with list, read and write access

Select the bucket policy for the user

Attach the faotools_bucket policy to the Amazon S3 IAM user

Review and create the IAM user

Review the IAM user details and permissions before creating the Amazon S3 user

Create an access key for the user

Open the IAM user and create an access key for the Amazon S3 connection

Choose the access key use case

Select 'Application running outside AWS' as the access key use case for Odoo

Set the access key description tag

Add an 'Odoo Connector' description tag to the Amazon S3 access key

Retrieve the access key and secret

Copy or download the Amazon S3 access key and secret access key

Configure the Amazon S3 client in Odoo

Configure and confirm the Amazon S3 cloud client in Odoo with bucket, region and keys

Amazon S3 URLs and access rights

Amazon S3 has an important peculiarity: the URL shown in Odoo is always an Amazon-side link.

If Use Public URLs is enabled, Odoo saves a direct S3 object URL. This link works only if the related S3 bucket, prefix, object, CDN, or compatible endpoint is publicly readable. Otherwise, Amazon S3 will show AccessDenied, even if the user is logged in to the AWS console.

For public links, configure the bucket permissions in Amazon S3 and allow public read access for the Odoo prefix. Example bucket policy:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "PublicReadOdooPrefix",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::YOUR_BUCKET_NAME/Odoo/*"
    }
  ]
}

Replace YOUR_BUCKET_NAME with the real bucket name and Odoo/ with the selected root folder prefix. Also make sure that Amazon S3 Block public access settings do not block that bucket policy.

If Use Public URLs is disabled, Odoo saves AWS Console links to the related bucket object or prefix. Such links are useful for Amazon users: the person opening the link must be logged in to AWS and must have IAM access to that bucket object. If the user has no AWS access, Amazon will not open the file.

MinIO configuration and log in

  1. Prepare a running MinIO server
  2. Open the MinIO Console
  3. Create a new bucket or choose an existing one. Copy the exact bucket name: it should be inserted in Odoo into the field 'Bucket'
  4. Create access credentials for Odoo. In MinIO, use an access key / secret key pair or a service account that has rights to list, read, create, write, copy, and delete objects within the selected bucket
  5. Copy the MinIO Access Key into the Odoo field 'Access Key'
  6. Copy the MinIO Secret Key into the Odoo field 'Secret Key'. Important: save the secret before closing the MinIO page if MinIO shows it only once
  7. Copy the MinIO S3 API endpoint URL into Odoo into the field 'Amazon S3 endpoint URL'. For example, a local server usually uses http://localhost:9000, while a production server may use https://minio.example.com
  8. Go to Odoo Cloud Storage > Configuration > Cloud Clients and press 'Create'
  9. As a reference, introduce any name which would be clear to all users
  10. As a Cloud client, choose 'MinIO'
  11. As a Root folder name, enter a title that will be used as the parent MinIO object prefix for all synced folders. For example, 'Odoo' or 'OdooERP'
  12. Fill in the fields 'Bucket', 'Access Key', 'Secret Key', and 'Amazon S3 endpoint URL'. The field 'Region' is optional for MinIO; if it is empty, Odoo uses us-east-1 for S3-compatible signing
  13. Keep the addressing style as Path-style. This is the recommended option for MinIO endpoints, especially when the MinIO host does not provide bucket-specific DNS names
  14. Choose whether Odoo should use direct public MinIO URLs. Enable 'Use Public URLs' only when the bucket, prefix, reverse proxy, or CDN is publicly readable. For private MinIO buckets, leave it disabled
  15. Press 'Confirm'. Odoo checks bucket access and creates or verifies the root folder prefix. MinIO - Odoo synchronization is ready to be done
  16. Apply the newly created cloud client to folder rules and/or manual folders which should be synced to that MinIO bucket
  17. Await the sync scheduled job to be started. For testing purposes only: trigger integration manually from Cloud Storage > Configuration > Configuration > the button 'Launch sync'.

Useful MinIO documentation: https://min.io/docs/minio/linux/administration/identity-access-management.html, https://min.io/docs/minio/linux/reference/minio-server/minio-server.html.

Create a MinIO access key

Create an access key in the MinIO Object Store console for the Odoo cloud client

Copy the new MinIO credentials

Copy or download the newly created MinIO access key and secret key for Odoo

Configure the MinIO cloud client in Odoo

Configure and confirm the MinIO cloud client in Odoo with bucket, region, endpoint and keys

相关常见问题 Amazon S3 / MinIO Odoo Integration Odoo v.17

同步字段存储在哪里?会复制到 Odoo 和云端吗?

本应用假定附件的二进制内容保存在 Cloud Client 中,而不是 Odoo 服务器上。因此,Odoo 中的此类附件变为 URL 类型,您可随时从附件框或 Cloud Client 访问它们。

设置完成后无需手动操作,同步完全自动。只需决定要同步哪些 Odoo 单据类型,并为每一种设置关联模型(客户、销售或采购订单、任务、项目等)。

同一单据类型可以有多个文件夹吗?例如内部项目和客户项目?

可以。请为每一种准备规则,然后应用筛选:例如按项目类型。

尽量让筛选互斥,以便单据能被明确归类。例如“是客户但不是供应商”、“是供应商但不是客户”。否则某个单据文件夹会在模型之间跳动。

可以将同步做成实时的吗?

不可以。我们有充分理由避免实时同步:

  • 性能问题。若同步是实时的,每次上传文件都会出现加载屏幕。

  • 冲突问题。若 2 位用户同时更改一项,可能出现无法解决的情况。定期作业可以事后修复;实时同步则必须存成队列,对用户更加费解。

  • 功能问题。尤其是重命名和调整结构。反向同步严格依赖目录逻辑,每次同步都会检查 100% 的项目。若每次更新都做,将是每秒数千次请求。若不做:更改会丢失。

我可以更改云中默认文件夹的名称吗?

可为任何单据类型给模型目录(销售订单、商机、供应商等)指定自己的名称。

对象文件夹(SO-001、John Smith 等)依赖 Odoo 为该单据类型构造显示名称的方法。不过可通过定义名称表达式来更改。使用的正是 Odoo 电子邮件模板的语法。 

我可以更改同步作业的频率吗?

不可以。从版本 15 起不应再改计划作业。它们已优化为每 15 分钟运行,以保证最稳定、最快的连接。

请确保 Odoo 服务器超时至少为 15 分钟(900 秒)。

若需暂时停止同步,请在相应的 cloud client 表单上进行。

我可以将附件同步到几个云客户端吗

可以,从版本 15 起可设置多个连接。这样一部分文件夹同步到一个 cloud client,另一部分同步到另一个。

请注意,同一文件夹无法同时同步到多个 cloud storages。

我们在云中使用专用编辑器(例如 OnlyOffice、Office 365 等)。文件会在该编辑器中打开吗?

可以,取决于您的 cloud client 配置。

我是否只需要Cloud Storage Solution应用?

从版本 15 起,应用可单独用来把附件按文件夹整理,并提供文件管理器界面。

不过,若要与某个云客户端建立连接,则需要 至少安装一个可选的客户端相关应用。

更改文件夹规则时会发生什么?

文件夹规则一变,文件夹列表也会变。不再符合规则条件的文件夹会被移除。若文件已同步,反向同步会将其退回 Odoo 并从 Cloud Client 删除。

若文档对象不符合文件夹规则的条件,则不会创建其文件夹。之后若符合条件,将生成相关文件夹。

非英语的应用和网站措辞由 AI 辅助 并与官方 Odoo 翻译对齐。若发现错误, 发送翻译正确性工单 我们会修好。

Odoo 演示数据库(在线预览)

对于此应用,我们可能提供免费个性化演示数据库。

联系我们无需电话号码或信用卡。只需完成不超过 30 秒的简短电子邮件注册。

按您的申请,我们将准备独立的在线预览数据库,约两周内可进行任意测试并核验假设。

缺陷反馈

如遇缺陷或不一致行为,请随时联系我们。我们保证在购买后 60 天内提供修复,并在此期限后仍积极改进工具。

联系我们无需电话号码或信用卡。只需完成不超过 30 秒的简短电子邮件注册。

请在请求中尽可能提供详细信息:截图、Odoo 服务器日志、完整的问题复现说明等。通常需要几个工作日来准备问题的工作计划(若确认是缺陷)或提供应采取的指引(否则)。

公开功能请求与模块构想(免费开发)

我们非常希望改进工具,并感谢任何反馈。若您的需求具有普遍价值且能高效实现,团队会将其列入待办清单。

此类待办清单会定期处理,不产生额外费用。虽然我们无法承诺截止日期和最终设计,但这可能是在无投入、无风险的情况下获得所需功能的好办法。

联系我们无需电话号码或信用卡。只需完成不超过 30 秒的简短电子邮件注册。

您可能还会喜欢这些工具
Password Manager

The tool to safely keep passwords in Odoo for shared use. Shared vaults

198€
KnowSystem: Knowledge Base System

The tool to build a deep and structured knowledge base for internal and external use. Knowledge System. KMS. Wiki-like revisions.

398€
Universal Appointments and Time Reservations

The tool for time-based service management from booking appointments to sales and reviews

398€ 358€
KPI Balanced Scorecard

The tool to set up KPI targets and control their fulfillment by periods. KPI dashboards. Dashboard designer. KPI charts

198€
MCP Server. AI Chats and LLM Odoo Integration

The tool to manage your Odoo from your favorite AI chats through MCP. Claude. Any MCP-supporting AI.

198€
Cloud Storage Solutions

The tool to flexibly structure Odoo attachments in folders and synchronize directories with cloud clients: Google Drive, OneDrive/SharePoint, Nextcloud/ownCloud, Dropbox, Amazon S3, Box, and NAS. DMS. File Manager. Document management system

398€ 358€
OneDrive / SharePoint Odoo Integration

The tool to automatically synchronize Odoo attachments with OneDrive files in both ways

487€ 438€
Google Drive Odoo Integration

The tool to automatically synchronize Odoo attachments with Google Drive files in both ways

487€ 438€
ownCloud / Nextcloud Odoo Integration

The tool to automatically synchronize Odoo attachments with ownCloud/Nextcloud files in both ways

487€ 438€