Сценарий сервера (server)¶
Переменная ODPM_SCENARIO=server — запуск Odoo как службы на виртуальной машине, VPS или тестовом стенде: без отладчика в процессе Odoo, с ограничением доступа к PostgreSQL.
Назначение¶
Подходит, когда нужен тот же состав проекта, что у разработчика (те же репозитории и версии из odpm.json), но окружение не предназначено для отладки с ноутбука. Типичные случаи: демонстрация заказчику на одной виртуальной машине, внутренний тестовый стенд, «лёгкий» промышленный контур без тяжёлого конвейера сборки образов.
Полноценный конвейер с реестром образов не обязателен — достаточно docker compose up и обратного прокси.
Поведение окружения¶
| Область | Как устроено |
|---|---|
| Отладчик | Не устанавливается и не публикуется порт отладки. Для отладки используйте отдельную машину со сценарием developer. |
| Published ports | По умолчанию профиль hardened: все порты compose на хосте только на 127.0.0.1. Override: ODPM_SECURITY_PROFILE / --security-profile. Внешний доступ — через обратный прокси. |
| Пароли Odoo | Дефолт hardened: random в .odpm/secrets.json, в user_settings — ${@secret:…}. См. безопасность. |
| Режим разработки Odoo | Поле dev_mode в user_settings.json игнорируется (предупреждение в журнале). |
| Исходники | Как у разработчика — подключены с диска сервера. |
| Base image | По умолчанию профиль medium: wkhtmltopdf и build deps, без Chromium/Xvfb/IDE — см. ADR-007. Override: ODPM_BASE_IMAGE_PROFILE = full / medium / ci. |
| Секреты модулей | Как в developer: .odpm/secrets.json монтируется в /run/odpm/secrets.json (read-only). Доставка файла на сервер — odpm --secrets-file или копирование; см. локальные секреты. |
| Docker Compose | Сервисы db и odoo получают restart: unless-stopped — после перезагрузки хоста контейнеры поднимаются сами (при docker compose up -d). |
Рекомендации по безопасности¶
- Задайте надёжные пароли — см. безопасность.
- Вынесите HTTPS на nginx; в
odoo.confукажитеproxy_modeи при необходимостиdbfilter. - Не открывайте порты Odoo и PostgreSQL в интернет без необходимости.
- Для фиксации версии платформы используйте
odoo_build_date/--odoo-build-date(git checkout по дате), а не отдельную загрузку архива.
Типичные команды администратора¶
odpm --skip-start
docker compose up -d
odpm -d prod_db --db-backup
odpm -d prod_db -u
Для обновления модулей по git-диффу на server предпочтительно:
odpm run apply-modules-from-diff -d prod_db
См. рецепты и маркер деплоя.