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.