Вкратце
Amazon S3 / MinIO Odoo Integration - приложение Odoo 19 (Управление документами). Инструмент для двусторонней синхронизации вложений Odoo с Amazon S3 и/или MinIO.
Amazon S3 / MinIO Odoo Integration связывает Cloud Storage Solutions с объектным хранилищем, совместимым с S3. Синхронизирует папки и вложения Odoo с бакетами Amazon S3 или MinIO в обе стороны и даёт пользователям Odoo доступ к объектам по presigned или публичным ссылкам.
Идеально для
Команды объектного хранения
Используйте бакеты Amazon S3 или совместимые с S3 как бэкенд для вложений и деревьев папок Odoo.
MinIO и хранилище, совместимое с S3
Подключите Odoo к MinIO или другим S3-совместимым средам, где предпочитают своё объектное хранилище.
Контролируемый доступ к объектам
Выберите presigned или публичные ссылки на объекты, чтобы Odoo открывал синхронизированные файлы согласно политике бакета.
Почему команды выбирают его
Главные преимущества до подробностей
Бакеты Amazon S3
Храните синхронизированные вложения и папки Odoo в бакетах Amazon S3, а бизнес-контекст остаётся в Odoo.
Совместимость с MinIO
Используйте MinIO или S3-совместимое хранилище, когда инфраструктуре нужен свой объектный бэкенд.
Пути объектов из Odoo
Генерируйте пути объектов в бакете из правил папок Odoo, ручных папок и блоков вложений записи.
Двусторонняя синхронизация
Отправляйте вложения Odoo в S3-совместимое хранилище и отражайте облачные объекты обратно в Odoo.
Presigned или публичные URL
Открывайте синхронизированные объекты по presigned или публичным ссылкам согласно политике бакета и настройкам коннектора.
Журналы и восстановление
Следите за заданиями синхронизации S3/MinIO, повторами и обратной синхронизацией в журналах Odoo.
Как работает синхронизация Amazon S3 / MinIO
Плановая синхронизация держит папки Odoo и объекты бакетов, совместимых с S3, согласованными.
Из Odoo в хранилище, совместимое с S3
- Прямая синхронизация создаёт пути объектов в бакете и загружает вложения из синхронизированных папок Odoo.
- Синхронизированные двоичные файлы становятся вложениями-URL в Odoo и снижают нагрузку на filestore Odoo.
- Задания очереди обрабатывают изменения Amazon S3 и MinIO с журналами для администраторов.
Из бакетов обратно в Odoo
- Обратная синхронизация создаёт вложения-URL Odoo и подпапки для новых объектов бакета.
- Обновления, перемещения и удаления в S3-совместимом хранилище по возможности отражаются в связанных папках Odoo.
- Обратная синхронизация может вернуть файлы в Odoo, когда соединение S3 или MinIO сбрасывают или меняют.
URL Amazon S3 / MinIO
Открывайте синхронизированные объекты бакета из Odoo в режиме ссылок, который соответствует политике хранения.
Presigned-ссылки на объекты
- Используйте presigned URL, когда объекты бакета должны оставаться закрытыми, но открываться из Odoo.
- Генерация ссылок следует конфигурации S3-совместимого клиента и политике срока действия.
- Этот режим удобен для контролируемого доступа без публикации объектов бакета всем.
Публичные ссылки на объекты
- Используйте публичные ссылки, когда политика бакета намеренно открывает синхронизированные объекты.
- Odoo сохраняет контекст записи, папки и вложения, даже если доступ к объекту задаёт политика S3.
- Администраторы управляют учётными данными бакета, объёмом синхронизации и журналами в настройках Cloud Storage.
Готовы оценить?
Начните с бесплатного запроса демо или купите в Odoo Apps Store.
Бесплатная персонализированная демонстрационная база. Номер телефона и банковская карта не требуются. Бесплатные обновления и экспертная поддержка в течение всего срока основной версии Odoo.
Советы по настройке и установке для Amazon S3 / MinIO Odoo Integration Odoo v.19
Зависимость Python
Инструмент зависит от внешней библиотеки «boto3». Установите её на сервер Odoo командой:
pip3 install boto3Конфигурация Amazon S3 и вход
- Включите опцию 'Amazon S3 Sync' (Cloud Storage > Конфигурация > Конфигурация). Нужно дополнительное расширение Amazon S3 Odoo Integration
- Откройте Amazon S3 Console: https://console.aws.amazon.com/s3/
- Создайте новый bucket или выберите существующий. Скопируйте точное имя bucket: его нужно вставить в Odoo в поле 'Bucket'
- Откройте сведения bucket и скопируйте AWS Region. Вставьте в Odoo в поле 'Region' (например, eu-west-1 или us-east-1)
- Откройте AWS IAM Console: https://console.aws.amazon.com/iam/
- Создайте пользователя IAM или выберите существующего технического. У него должны быть полные права на список, чтение, создание, запись, копирование и удаление объектов в выбранном bucket. Можно дать полные права администратора или создать политику (см. ниже)
- В карточке пользователя IAM откройте вкладку 'Security credentials' и нажмите 'Create access key'
- На странице 'Access key best practices & alternatives' выберите Application running outside AWS. Так нужно, если сервер Odoo подключается к S3 по ключу доступа вне AWS, с Odoo.sh, со своего сервера или другого хостинга. Если Odoo стоит на AWS EC2, можно выбрать Application running on an AWS compute service — поля, которые копируются в Odoo, те же
- Нажмите 'Next'. На следующем шаге при желании укажите тег описания, например Odoo S3 Sync, затем нажмите 'Create access key'
- На финальной странице AWS скопируйте Access key или Access key ID в поле Odoo 'Access Key'
- Скопируйте Secret access key в поле Odoo 'Secret Key'. Важно: AWS показывает секретный ключ только один раз — сохраните его до закрытия окна
- Если это S3-совместимый провайдер, а не AWS S3, скопируйте endpoint URL из его панели и вставьте в Odoo в поле 'Amazon S3 endpoint URL'. Например, MinIO часто использует https://minio.example.com или http://localhost:9000; LocalStack обычно http://localhost:4566
- Откройте Odoo Cloud Storage > Конфигурация > Cloud Clients и нажмите «Создать»
- В справочном названии укажите имя, понятное всем пользователям
- В облачном клиенте выберите 'Amazon S3'
- В имени корневой папки укажите заголовок родительского префикса S3 для всех синхронизируемых папок. Например, 'Odoo' или 'OdooERP'
- Заполните поля 'Bucket', 'Region', 'Access Key', 'Secret Key' и при необходимости 'Amazon S3 endpoint URL' и стиль адресации
- Выберите, должен ли Odoo использовать временные presigned URL или публичные URL bucket/CDN. Для закрытых bucket оставьте presigned URL включёнными и задайте срок жизни в секундах
- Нажмите «Подтвердить». Odoo проверит доступ к bucket и создаст или проверит префикс корневой папки. Синхронизация Amazon S3 - Odoo готова к работе
- Назначьте созданный облачный клиент правилам папок и/или ручным папкам, которые нужно синхронизировать с этим bucket Amazon S3
- Дождитесь запуска задания синхронизации по расписанию. Только для тестов: запустите интеграцию вручную в Cloud Storage > Конфигурация > Конфигурация > кнопка «Запустить синхронизацию».
Полезная документация AWS: создание S3 bucket: https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html, управление ключами доступа IAM: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html.
Пример политики bucket
{
"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
Specify the IAM user name
Attach permission policies directly
Amazon S3 bucket policy JSON example
Review and name the S3 policy
Select the bucket policy for the user
Review and create the IAM user
Create an access key for the user
Choose the access key use case
Set the access key description tag
Retrieve the access key and secret
Настройте клиент Amazon S3 в Odoo
URL Amazon S3 и права доступа
У Amazon S3 важная особенность: URL, показанный в Odoo, всегда ссылка на стороне Amazon.
Если включено Use Public URLs, Odoo сохраняет прямой URL объекта S3. Ссылка работает только если бакет, префикс, объект, CDN или совместимая конечная точка публично читаемы. Иначе Amazon S3 покажет AccessDenied, даже если пользователь вошёл в консоль AWS.
Для публичных ссылок настройте права бакета в Amazon S3 и разрешите публичное чтение префикса Odoo. Пример политики бакета:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadOdooPrefix",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::YOUR_BUCKET_NAME/Odoo/*"
}
]
}
Замените YOUR_BUCKET_NAME на реальное имя бакета и Odoo/ на выбранный префикс корневой папки. Также убедитесь, что настройки Amazon S3 Block public access не блокируют эту политику.
Если Use Public URLs выключено, Odoo сохраняет ссылки AWS Console на объект или префикс бакета. Они полезны пользователям Amazon: открывающий должен быть в AWS и иметь IAM-доступ к объекту. Без доступа AWS Amazon файл не откроет.
Конфигурация MinIO и вход
- Подготовьте работающий сервер MinIO
- Откройте MinIO Console
- Создайте новый bucket или выберите существующий. Скопируйте точное имя bucket: его нужно вставить в Odoo в поле 'Bucket'
- Создайте учётные данные доступа для Odoo. В MinIO используйте пару access key / secret key или service account с правами на список, чтение, создание, запись, копирование и удаление объектов в выбранном bucket
- Скопируйте MinIO Access Key в поле Odoo 'Access Key'
- Скопируйте MinIO Secret Key в поле Odoo 'Secret Key'. Важно: сохраните секрет до закрытия страницы MinIO, если MinIO показывает его только один раз
- Скопируйте endpoint URL S3 API MinIO в Odoo в поле 'Amazon S3 endpoint URL'. Локальный сервер обычно использует http://localhost:9000, рабочий — https://minio.example.com
- Откройте Odoo Cloud Storage > Конфигурация > Cloud Clients и нажмите «Создать»
- В справочном названии укажите имя, понятное всем пользователям
- В облачном клиенте выберите 'MinIO'
- В имени корневой папки укажите заголовок родительского префикса объектов MinIO для всех синхронизируемых папок. Например, 'Odoo' или 'OdooERP'
- Заполните поля 'Bucket', 'Access Key', 'Secret Key' и 'Amazon S3 endpoint URL'. Поле 'Region' для MinIO необязательно; если пусто, Odoo берёт us-east-1 для S3-совместимой подписи
- Оставьте стиль адресации Path-style. Так рекомендуется для endpoint MinIO, особенно если хост MinIO не даёт DNS-имён для отдельных bucket
- Выберите, должен ли Odoo использовать прямые публичные URL MinIO. Включайте 'Use Public URLs' только если bucket, префикс, reverse proxy или CDN публично читаются. Для закрытых bucket MinIO оставьте выключенным
- Нажмите «Подтвердить». Odoo проверит доступ к bucket и создаст или проверит префикс корневой папки. Синхронизация MinIO - Odoo готова к работе
- Назначьте созданный облачный клиент правилам папок и/или ручным папкам, которые нужно синхронизировать с этим bucket MinIO
- Дождитесь запуска задания синхронизации по расписанию. Только для тестов: запустите интеграцию вручную в Cloud Storage > Конфигурация > Конфигурация > кнопка «Запустить синхронизацию».
Полезная документация MinIO: 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
Copy the new MinIO credentials
Настройте облачный клиент MinIO в Odoo
Часто задаваемые вопросы о Amazon S3 / MinIO Odoo Integration Odoo v.19
Где хранятся синхронизированные файлы? Дублируются ли они в Odoo и в облаках?
Приложение предполагает, что двоичное содержимое вложений хранится в Cloud Client, а не на сервере Odoo. Такие вложения в Odoo становятся типа URL, и к ним можно в любой момент обратиться из блока вложений или из Cloud Client.
После настройки ручные действия не нужны: синхронизация полностью автоматическая. Решите, какие типы документов Odoo синхронизировать, и настройте связанную модель для каждого из них (клиенты, заказы на продажу или закупку, задачи, проекты и т. д.).
Можно ли создать несколько папок для одного типа документов? Например, внутренние проекты и клиентские проекты?
Да, можно. Для этого подготовьте правило для каждой папки и задайте фильтры: например, по типу проекта.
Сделайте фильтры взаимоисключающими, чтобы документ однозначно попадал в одну папку. Например: «клиент, но не поставщик», «поставщик, но не клиент». Иначе папка документа будет перескакивать с одной модели на другую.
Можно ли сделать синхронизацию в реальном времени?
Нет. Есть веские причины не делать синхронизацию в реальном времени:
Производительность. При синхронизации в реальном времени каждая загрузка файла приводит к экрану ожидания.
Конфликты. Если двое одновременно меняют элемент, ситуация может стать неразрешимой. При регулярных заданиях это можно исправить позже; в реальном времени пришлось бы ставить изменения в очередь, что ещё сильнее запутает пользователей.
Функциональность. В частности, переименование и перестройка элементов. Обратная синхронизация строго опирается на логику каталогов, и при каждом запуске проверяется 100% элементов. Если делать это после каждого обновления, будут тысячи запросов в секунду. Если нет — изменения потеряются.
Можно ли изменить имена папок по умолчанию в облаках?
Вы можете задать своё имя каталогам моделей (заказы на продажу, возможности, поставщики и т. д.) для любого типа документа.
Для папок объектов (SO-001, John Smith и т. д.) инструмент использует метод Odoo для отображаемого имени этого типа документа. Это можно изменить выражением имени. Используется тот же синтаксис, что и в шаблонах писем Odoo.
Можно ли изменить частоту заданий синхронизации?
Нет, начиная с версии 15 менять запланированные задания не следует. Они оптимизированы на запуск каждые 15 минут для максимально стабильного и быстрого соединения.
Таймауты сервера Odoo должны быть не меньше 15 минут (900 секунд).
Чтобы временно остановить синхронизацию, сделайте это на форме конкретного облачного клиента.
Можно ли синхронизировать вложения с несколькими облачными клиентами
Yes, starting from version 15, you can set up multiple connections. In this way, it is possible to sync some folders to one cloud client and others - to another.
Take into account that it is not any way possible to sync the same folder for a few cloud storages simultaneously.
Мы используем специальный редактор в облаках (например OnlyOffice, Office 365 и т. д.). Будут ли файлы открываться в этом редакторе?
Да, в зависимости от конфигурации облачного клиента.
Достаточно ли только приложения Cloud Storage Solution?
Начиная с версии 15 приложение можно использовать отдельно, чтобы раскладывать вложения по папкам и давать интерфейс файлового менеджера.
Если же цель — соединение с одним из облачных клиентов, нужно установить хотя бы одно дополнительное приложение клиента.
Что происходит, когда я меняю правило папки?
Когда меняется правило папки, меняется и список папок. Если папка больше не подходит под условия правил, она удаляется. Если файлы уже были синхронизированы, обратная синхронизация возвращает их в Odoo и удаляет из Cloud Client.
Если объект документа не подходит под правило папки, его папка не создаётся. Если позже начнёт подходить, связанная папка будет создана.
Тексты приложения и веб-сайта на языках, отличных от английского, переведены с помощью ИИ и согласованы с официальными переводами Odoo. Если вы заметили ошибку, отправьте тикет о переводе и мы исправим его.
Демонстрационные базы данных Odoo (предпросмотр)
Для этого приложения мы можем предоставить бесплатную персонализированную демонстрационную базу данных.
Чтобы связаться с нами, вам не нужен номер телефона или кредитная карта. Вам нужно всего лишь пройти короткую регистрацию по электронной почте, которая займет не более 30 секунд.
По вашему запросу мы подготовим отдельную демо-базу для предпросмотра, где примерно две недели вы сможете проводить любые тесты и проверять свои предположения.
Отправка отчетов об ошибках
Если вы столкнулись с ошибками или непоследовательным поведением, не стесняйтесь обращаться к нам. Мы гарантируем предоставление исправлений в течение 60 дней с момента покупки и очень заинтересованы в улучшении наших инструментов даже по истечении этого периода.
Чтобы связаться с нами, вам не нужен номер телефона или кредитная карта. Вам нужно всего лишь пройти короткую регистрацию по электронной почте, которая займет не более 30 секунд.
Укажите в запросе как можно больше сведений: снимки экрана, журналы сервера Odoo, полное описание воспроизведения проблемы и так далее. Обычно подготовка рабочего плана по проблеме (если ошибка подтверждена) или рекомендаций по необходимым действиям (в противном случае) занимает несколько рабочих дней.
Запросы на публичные функции и идеи модулей (бесплатная разработка)
Мы очень заинтересованы в улучшении наших инструментов и будем благодарны за любые отзывы. Если ваши требования общедоступны и могут быть эффективно реализованы, команда включит их в наш список дел.
Такой список дел обрабатывается регулярно и не предполагает дополнительных комиссий. Хотя мы не можем обещать сроки и окончательный дизайн, это может быть хорошим способом получить желаемые функции без вложений и рисков.
Чтобы связаться с нами, вам не нужен номер телефона или кредитная карта. Вам нужно всего лишь пройти короткую регистрацию по электронной почте, которая займет не более 30 секунд.
Инструмент, чтобы безопасно хранить пароли в Odoo для совместной работы. Общие хранилища
198€Инструмент, чтобы задавать цели KPI и контролировать выполнение по периодам. Дашборды KPI. Конструктор. Графики
198€Инструмент, чтобы строить глубокую базу знаний для своих и внешних. Knowledge System. KMS. Правки как в вики
398€Инструмент для услуг по записи: от бронирования до продаж и отзывов
Инструмент, чтобы управлять Odoo из любимых AI-чатов через MCP. Claude. Любой AI с MCP.
198€Инструмент, чтобы раскладывать вложения Odoo по папкам и синхронизировать каталоги с Google Drive, OneDrive/SharePoint, Nextcloud/ownCloud, Dropbox, Amazon S3, Box и NAS. Файловый менеджер. DMS
Инструмент для двусторонней синхронизации вложений Odoo с OneDrive
Инструмент для двусторонней синхронизации вложений Odoo с Google Drive
Инструмент для двусторонней синхронизации вложений Odoo с ownCloud/Nextcloud