Файл конфигурации Odoo (odoo.conf)¶
Где лежит¶
В корне каталога odpm-проекта файл {platform_name}.conf. Для стандартной платформы это обычно odoo.conf. Имя зависит от поля platform_name в odpm.json.
Зачем файл на диске, если Odoo в контейнере¶
Разработчик или администратор редактирует конфигурацию привычным способом — текстовым файлом в каталоге проекта. odpm не требует заходить в контейнер, чтобы поменять, например, proxy_mode или уровень журналирования.
При каждой подготовке окружения odpm:
- Читает ваш файл с диска.
- Накладывает переопределения из
odoo_confвodpm.json(если заданы) — manifest сильнее диска. - Подставляет параметры подключения к базе из служебной конфигурации.
- Пересчитывает пути к дополнениям (
addons_path) и каталог данных (data_dir) так, как их видит процесс внутри контейнера (они отличаются от путей на хосте). - Записывает результат в служебный JSON (
.odpm/runtime/config.json). - При старте контейнера точка входа создаёт конфигурационный файл внутри контейнера и передаёт Odoo параметр
-cс этим путём.
То есть файл в каталоге проекта — ваш интерфейс настройки; в контейнер попадает согласованная версия с правильными путями.
Что можно править вручную¶
Параметры из документации Odoo: proxy_mode, dbfilter, log_level, число воркеров и т.д.
На сервере, доступном из интернета, обычно настраивают proxy_mode и dbfilter вместе с обратным прокси (nginx). Для CI/preview те же ключи можно задать в odoo_conf в odpm.json — см. поля odpm.json.
Приоритет источников¶
odpm-managed (addons_path, data_dir) ← всегда сильнее всего
↑
manifest odoo_conf.options ← перекрывает диск
↑
odoo.conf на диске ← локальные значения по умолчанию
Что odpm перезапишет при подготовке¶
addons_path— полный список путей к дополнениям внутри контейнера;data_dir— каталог данных Odoo внутри контейнера;db_host— синхронизируется с физическим именем postgres-сервиса из.env(POSTGRES_SERVICE_NAMEили{prefix}dbприODPM_COMPOSE_PREFIX);- маркеры базы в шаблоне — реальные значения из runtime;
admin_passwd— в контейнере изdb_manager_password(не из manifest).
В manifest odoo_conf нельзя задавать эти и другие зарезервированные ключи — odpm manifest validate завершится ошибкой.
Если db_host в файле на диске не совпадает с ожидаемым именем postgres-сервиса из .env, шаг template.odoo_conf пересоздаёт конфиг; в odpm plan появится drift db_host_mismatch. См. состояние PostgreSQL.
Когда файл пересоздаётся целиком¶
Если файл отсутствует, повреждён или в нём не заполнены обязательные параметры базы — odpm создаст шаблон заново.
После правок, влияющих на пути или состав дополнений: odpm --skip-start и перезапуск контейнеров.
Сценарий сборки образа (ci)¶
Та же логика конфигурации встраивается в образ при odpm --build-image.