Odoo Community можно установить на VPS через готовый шаблон Unihost в Portainer. Откройте Templates, выберите Odoo, укажите данные PostgreSQL и разверните стек. Затем настройте главный пароль управления базами, постоянное хранение данных, домен с HTTPS и резервное копирование. В инструкции также рассмотрены собственные модули и безопасное обновление Docker-образа.

Совместимость: Linux с Docker Engine, Portainer и официальным образом Odoo Community. По состоянию на 6 ноября 2026 года актуальная основная версия Odoo – 20.0.

Требования

Потребуются VPS с Docker и Portainer, административный доступ, PostgreSQL и домен. В оригинальной установке Unihost используется Nginx Proxy Manager (NPM); для HTTPS также подходит Traefik. Для небольшого проекта можно ориентироваться на 2 vCPU, 4 ГБ RAM и 40 ГБ SSD, но это оценка, а не официальный универсальный минимум.

Если вы только начинаете работать с контейнерами, прочитайте Что такое Portainer.

Шаги

Шаг 1. Выберите шаблон Odoo

Войдите в Portainer, выберите окружение local и откройте Templates → Application → Odoo. Укажите пользователя базы и надёжный пароль, затем разверните приложение. В оригинальном шаблоне Unihost создаётся стек odoo-app.

Выбор окружения local в Portainer

Выбор шаблона приложения Odoo

Параметры PostgreSQL и развёртывание

Проверка стека odoo-app

docker ps

Шаг 2. Настройте PostgreSQL и тома

Официальный образ Odoo подключается к PostgreSQL через переменные окружения. Данные должны совпадать с настройками контейнера PostgreSQL.

Переменная Назначение
HOST Имя сервиса PostgreSQL
USER Пользователь PostgreSQL
PASSWORD Пароль PostgreSQL
HOST=db
USER=odoo
PASSWORD=YOUR_STRONG_DB_PASSWORD

Для сохранения данных подключите постоянный том к /var/lib/odoo, а каталог собственных модулей к /mnt/extra-addons. PostgreSQL также нужен отдельный постоянный том. Пример для сервиса Odoo:

volumes:
  - odoo_data:/var/lib/odoo
  - ./addons:/mnt/extra-addons

Это фрагмент Compose, а не замена шаблона Unihost. Не удаляйте существующие тома при пересоздании контейнеров.

Шаг 3. Защитите master password и настройте workers

Задайте уникальный master password в odoo.conf (обычно /etc/odoo/odoo.conf). Он нужен для управления базами и отличается от пароля пользователя Odoo. Если шаблон содержит стандартные учётные данные admin, замените их до открытия сайта в интернете.

[options]
admin_passwd = YOUR_UNIQUE_MASTER_PASSWORD

Для рабочего сервера за reverse proxy включите proxy mode. Количество workers выбирают по CPU, RAM и нагрузке. Следующие значения приведены только как пример:

[options]
workers = 2
proxy_mode = True

Шаг 4. Настройте домен и HTTPS

Для публикации Odoo через Nginx Proxy Manager (NPM) выполните следующие действия:

  1. Создайте DNS-запись A для odoo.example.com, направленную на публичный IP VPS.
  2. Откройте NPM → Hosts → Proxy Hosts → Add Proxy Host.
  3. Укажите Domain Names: odoo.example.com и Scheme: http.
  4. В Forward Hostname / IP укажите имя сервиса Odoo, доступное из NPM, а в Forward Port установите 8069.
  5. При необходимости включите Websockets Support. На вкладке SSL запросите сертификат Let’s Encrypt, включите Force SSL и сохраните настройки.

В odoo.conf установите proxy_mode = True, если Odoo работает за доверенным proxy. При нескольких workers настройте evented/WebSocket endpoint с учётом версии Odoo. NPM должен видеть контейнер Odoo по Docker-сети. Не открывайте 8069 напрямую в интернет.

Инструкция по установке Nginx Proxy Manager и настройке HTTPS

Traefik через Portainer можно использовать как альтернативу.

odoo.example.com -> SERVER_IP
Forward hostname: odoo-app
Forward port: 8069

Настройка Proxy Host в NPM

Ограничьте прямой доступ к порту 8069. Старый скриншот страницы входа по HTTP не следует воспринимать как безопасную конфигурацию для публичного сервера.

Шаг 5. Установите собственные модули

Подключите проверенный каталог модулей к /mnt/extra-addons, проверьте addons_path, перезапустите Odoo, включите режим разработчика и обновите список приложений перед установкой модуля. Используйте модули, совместимые с вашей версией Odoo.

/mnt/extra-addons/my_custom_module/

Шаг 6. Создайте резервную копию

Для резервного копирования используйте Database Manager Odoo и ZIP с filestore или pg_dump для PostgreSQL. Один только дамп базы не содержит файлы вложений из filestore.

docker exec DB_CONTAINER pg_dump -U odoo -d DATABASE_NAME -Fc > odoo-backup.dump

Храните копии PostgreSQL, filestore и конфигурации отдельно от VPS. Периодически проверяйте восстановление.

Шаг 7. Обновите Docker-образ

Сохраните базу, filestore и конфигурацию, затем проверьте совместимость релиза и модулей. При обновлении в пределах одной основной версии измените подходящий тег образа в Portainer и пересоздайте сервис без удаления томов. Переход Odoo 19 → 20 требует миграции базы, а не только нового образа.

odoo:20.0

Проверка

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

docker ps
docker logs --tail 50 ODOO_CONTAINER

Приложения Odoo после установки

Устранение проблем

Odoo не подключается к PostgreSQL

Проверьте HOST, USER, PASSWORD, службу базы данных и общую сеть Docker.

Домен или HTTPS не работает

Проверьте DNS, NPM или Traefik, TLS и внутренний порт 8069.

Собственный модуль отсутствует

Проверьте /mnt/extra-addons, addons_path, совместимость модуля и обновление списка приложений.

Odoo работает медленно

Проверьте CPU, RAM, производительность PostgreSQL и workers. При необходимости увеличьте ресурсы VPS.

FAQ

Можно ли запускать Odoo Enterprise в Docker?

Да, при наличии действующей подписки Enterprise и соответствующих модулей. Официальный образ Odoo в первую очередь предназначен для Community.

Как установить собственные модули?

Подключите совместимые модули к /mnt/extra-addons, укажите путь в конфигурации, перезапустите сервис и обновите список приложений.

Как создать резервную копию Odoo?

Используйте Database Manager с filestore либо pg_dump вместе с отдельной копией /var/lib/odoo и конфигурации.

Какой сервер нужен для Odoo?

Для небольшого проекта 2 vCPU, 4 ГБ RAM и 40 ГБ SSD служат ориентиром. Ресурсы зависят от числа пользователей и модулей.

Связанные статьи

Разверните Odoo на инфраструктуре Unihost

Используйте готовые шаблоны приложений и VPS с ресурсами под нагрузку Odoo.