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.




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) выполните следующие действия:
- Создайте DNS-запись A для odoo.example.com, направленную на публичный IP VPS.
- Откройте NPM → Hosts → Proxy Hosts → Add Proxy Host.
- Укажите Domain Names: odoo.example.com и Scheme: http.
- В Forward Hostname / IP укажите имя сервиса Odoo, доступное из NPM, а в Forward Port установите 8069.
- При необходимости включите 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

Ограничьте прямой доступ к порту 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 не подключается к 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 служат ориентиром. Ресурсы зависят от числа пользователей и модулей.
Связанные статьи
- Что такое Portainer
- Traefik через Portainer
- MariaDB через Portainer (сама Odoo использует PostgreSQL)
- Официальный образ Odoo Docker
- Установка Nginx Proxy Manager
Разверните Odoo на инфраструктуре Unihost
Используйте готовые шаблоны приложений и VPS с ресурсами под нагрузку Odoo.