Перейти к содержанию

CI CI Docker Release packages GitHub release packages

en code AI-assisted AI-assisted docs

odpm (Odoo Developer Project Manager)

Odoo-разработка ломается не на синтаксисе Python, а на инфраструктуре: много репозиториев, согласованность путей, разные ОС и архитектуры на рабочих местах в команде разработки, Docker, venv, odoo.conf, IDE, CI и ещё куча слоёв, за которыми надо следить. odpm превращает это в один воспроизводимый проектный контур из единственного файла odpm.json, чтобы команда тратила время на модули, а не на повторную сборку или отладку окружения.

odpm — инструмент, который собирает полноценное рабочее место разработчика и одинаковое окружение Odoo для всей команды, в том числе для серверов и CI. Достаточно файла описания проекта odpm.json в репозитории: odpm сам подготовит каталоги, контейнеры, конфигурацию, пути к модулям и типовые операции с базой данных.

Пользовательская документация на этой странице подготовлена с помощью ИИ (AI-assisted) и вычитана авторами. Английская версия — English (AI-translated, вычитывается постепенно).

Проект изначально создавался, чтобы снизить очень высокий порог входа в разработку на Odoo — в том числе для разработчиков-одиночек и небольших команд, где нет отдельного администратора инфраструктуры.

Какие проблемы решает odpm

Установить Odoo системным пакетом (deb, rpm) или по инструкции из сети можно, и служба запустится. Но для ежедневной разработки этого недостаточно.

Разработчику нужно не «сервер поднят», а связанное целое:

  • каталог, в котором он пишет свой код (модули заказчика или своей компании);
  • быстрый доступ к настройкам всего окружения — не разбросанным по десятку мест;
  • понятные системные и Python-зависимости внутри изолированного окружения;
  • файл конфигурации Odoo с правильными путями к дополнениям;
  • исходный код платформы Odoo — для чтения, отладки и обновления модулей;
  • исходники всех подключённых проектов и зависимостей (OCA, корпоративные репозитории);
  • согласованные пути к каталогам дополнений и к собственной кодовой базе.

Собрать это вручную «системным способом» трудно даже на одной машине. Если сверху добавить Docker «чтобы у всех было одинаково», появляется второй слой сложности: что куда подключать с диска, права пользователя, пути внутри контейнера и снаружи, совпадение путей в конфигурации с реальной файловой системой. На этом этапе чаще всего и возникают ошибки «у коллеги работает, у меня модуль не находится».

odpm берёт на себя эту сборку: один каталог проекта на вашем компьютере, один файл odpm.json в git-репозитории модуля — и вы получаете автоматическое клонирование репозиториев, генерацию docker-compose, конфигурацию Odoo и команды для резервного копирования, установки модулей, отладки в редакторе.

Полная статья (10 слоёв болей, роли программы, альтернативы и границы): Зачем odpm.

Краткий вход для новичков: Дружелюбность к новичкам.

Быстрый старт

На компьютере должны быть установлены Docker, git и odpm (см. установку).

mkdir my-odoo-project-17 && cd my-odoo-project-17
odpm --init https://github.com/your-org/your-odoo-project.git --branch 17.0

При первом запуске мастер настройки задаст вопросы о каталогах и сценарии использования; на незнакомые пункты можно отвечать клавишей Enter.

После подготовки окружения:

odpm -d test_db -i -u

Откройте в браузере: http://127.0.0.1:8069.

Пошаговое описание: Локальная разработка с нуля.

Установка odpm

Таблица платформ и способов установки: Установка odpm (все платформы).

Сценарии использования

Сценарий задаётся переменной ODPM_SCENARIO в файле .env. Один и тот же odpm.json; меняется способ запуска (отладка, безопасность, сборка образа).

Значение Для кого и зачем
developer Разработчик на своём компьютере: отладка в VS Code, режим разработки Odoo
server Виртуальная машина или сервер заказчика без отладчика, с ограничением доступа к базе
ci Сборка готового образа для конвейера непрерывной интеграции

Статьи: разработка · сервер · непрерывная интеграция · масштабирование команды.

Полная документация

Опубликованный сайт: https://aayartsev.github.io/odpm/ (RU) · English (EN). Полный перечень статей — в меню навигации слева.

Тема Ссылка
Подключение чужого или унаследованного проекта legacy-project.md
Роль координатора в команде team-coordinator.md
Свой форк платформы Odoo platform-fork.md
Ссылки на репозитории (git, https, file) git-links.md
Все параметры командной строки cli.md
Состояние PostgreSQL, drift, legacy adoption database-state.md
Файлы .env, odpm.json, odoo.conf справочник
Безопасность на сервере security.md
Переход с версии 3.0 migration-3-to-4.md

Разработчикам самого odpm

Участие в разработке инструмента, тесты, переводы интерфейса: contributing/.

Цели проекта в целом

  • Независимость от операционной системы и по возможности от архитектуры процессора (в том числе Apple Silicon через Docker).
  • Передача описания проекта через odpm.json — новое окружение разворачивается автоматически.
  • Удобные операции разработчика: удаление и восстановление базы, создание базы с нужным языком и демо-данными, смена пароля администратора, установка и обновление модулей, экспорт переводов, генерация каркаса нового модуля.
  • Один состав проекта — три сценария запуска: разработчик, администратор сервера и инженер сборки используют одно описание, меняется только способ упаковки окружения.