Як встановити модуль Oblik-ERP на Odoo On-Premise, вимоги до сервера
Кроки 1–5 описують встановлення Oblik-ERP на Odoo On-Premise у базовій конфігурації. Ця частина призначена для випадків, коли розгортання на Odoo.sh не підходить: власна інфраструктура, вимоги до розміщення даних, інтеграції з внутрішніми системами або потреба самостійно керувати ресурсами та налаштуваннями сервера.
Нижче наведено конфігурацію On-Premise-середовища, за якої розрахунок зарплати на обсяг до 2 000 працівників виконується коректно і без обривів: характеристики сервера та налаштування конфігураційних файлів. Значення перевірені на навантажувальному стенді.
Крок 1: Підготовка до встановлення
- Перевірка версії Odoo та системні налаштування : Перед початком встановлення перевірте, що ваша система відповідає вимогам Odoo для версії 19.0. Також перегляньте інструкцію Odoo on Premise, у розділі Конфігурація системи ви знайдете інформацію про розрахунок робочої чисельності та розрахунок обсягу пам'яті.
- Встановлення необхідного програмного забезпечення: Переконайтесь, що у вас є встановлені такі компоненти:
- Python (рекомендується версія 3.6 і вище)
- PostgreSQL (рекомендується версія 12 і вище)
- Пакети, потрібні для роботи Odoo (зокрема pip, virtualenv, залежності тощо).
Крок 2: Встановлення Odoo
Скористайтеся основною інструкцією з Odoo, доступною за посиланням: [ODOO INSTALLATION GUIDE
- Клонуйте репозиторій Odoo з GitHub.
- Налаштуйте ваше віртуальне середовище Python.
- Встановіть необхідні залежності через pip.
- Сконфігуруйте PostgreSQL для Odoo.
- Створіть конфігураційний файл для Odoo з правильними параметрами доступу до бази даних.
Крок 3: Налаштування перезапуску Odoo
Оскільки для встановлення оновлень продукту необхідно перезавантажити Odoo, важливо налаштувати автоматичний запуск служби Odoo після перезавантаження системи.
- Налаштуйте систему для перезапуску Odoo: Оптимально, щоб це робив фахівець, який відповідає за розгортання та супроводження Odoo.
Якщо використовується systemd, то створіть файл systemd або використовуєте init.d: Цей файл повинен описувати, як і коли Odoo має стартувати автоматично після перезавантаження сервера. Приклад системного файлу:
[Unit] Description=Odoo After=postgresql.service [Service] User=odoo ExecStart=/path/to/your/odoo/odoo-bin -c /etc/odoo.conf Restart=always [Install] WantedBy=multi-user.target- Активуйте службу: Використовуйте команду sudo systemctl enable odoo для того, щоб Odoo автоматично запускалась під час старту системи.
Крок 4: Встановлення продукту Oblik-ERP
- Завантажте модуль продукту продукту "Oblik-ERP" на Odoo App Store

- Розархівуєте файли модуля "Oblik-ERP" та перемістіть його у відповідну папку для зовнішніх модулів на сервері Odoo, вказану в конфігурації Odoo.
Інформацію про встановлення модулів, ви можете переглянути у документації Odoo .
Важливо! - Модуль лоадера (oblik_iap_client) повинен бути лише в одному екземпларі і лежати на файловій системі (зазвичай це /home/odoo/.local/share/Odoo/addons/19.0);
- Модуль не можна розміщати в репозиторії!;
- Власником директорії /home/odoo/.local/share/Odoo/addons/19.0 та всього її вмісту повинен бути користувач від якого запускається і працює Odoo. У власника мають бути права на запис.
- Перезапустіть Odoo;
- Перейдіть у робочу базу Odoo;
- Ввімкніть режим розробника - "Settings" (Налаштування)-> опустіться вниз сторінки та активуйте його;
- Перейдіть у модуль "Apps" (Додатки) ;
- Натисніть на кнопку"Update Apps List" (Оновити список додатків), щоб оновити список доступних модулів;
- Оберіть модуль `oblik_bootloader` у списку та натисніть на кнопку "Activate".
- Зареєструйте свою базу даних в налаштуваннях модуля Oblik-ERP Accounting згідно інструкції 📄 Налаштування та оновлення Oblik-ERP в базі даних (19 версія)та активуйте функціонал модуля через інтерфейс Odoo, щоб він став доступним для використання.
Зверніть Увагу! Якщо не було коректно налаштовано автоматичний перезапуск Odoo, то після кроку 6 потрібно запустити Odoo вручну.
Крок 5: Завершальні дії
- Запустіть Odoo: Після завершення всіх налаштувань повністю запустіть Odoo.
- Перевірте роботу продукту "Oblik-ERP": Увійдіть у систему та переконайтеся, що всі модулі працюють коректно.
Пам’ятайте! Будь-які оновлення продукту "Oblik-ERP" вимагають перезавантаження Odoo, тому важливо, щоб адміністратор слідкував за налаштуванням автоматичного запуску Odoo після перезавантаження. Рекомендуємо налаштувати respown Odoo, щоб вона автоматично запустилася після зупинки. Якщо у вас виникнуть додаткові питання або знадобиться допомога, будь ласка, звертайтесь! Успіхів!
Вимоги до сервера Odoo On-Premise для розрахунку зарплати до 2 000 працівників
Перевірено на навантажувальному стенді. Нижче — мінімальна конфігурація, на якій розрахунок проходить, і налаштування, без яких він обривається навіть на потужнішому залізі.
- 2VCPU DEDICATED;
- 8ГБ RAM;
- 80ГБ ДИСК.
1. Сервер
Мінімальні вимоги
| Ресурс | Вимога |
| vCPU | 2, виділені (dedicated) |
| Процесор | серверного класу, AMD EPYC 3-го покоління або новіший чи рівноцінний Intel Xeon |
| RAM | 8 ГБ, бажано ECC |
| Диск | 80 ГБ, NVMe SSD |
На тарифах зі спільними (shared) vCPU процесорний час розподіляється між орендарями одного фізичного хоста. Тривалість розрахунку в такому середовищі непрогнозована: один і той самий обсяг даних може оброблятися суттєво довше залежно від навантаження сусідніх систем. На виділених vCPU один vCPU відповідає окремому потоку фізичного ядра, тому час виконання стабільний і відтворюваний.
Заміри, на яких базуються ці вимоги, проводилися на стенді Hetzner Cloud CCX13 (2 виділені vCPU, 8 ГБ, 80 ГБ NVMe). Апаратний базис цієї лінії описаний у документації провайдера — його зручно використовувати як орієнтир при звірці пропозицій інших майданчиків.
2. odoo.conf
Стандартні значення Odoo розраховані на короткі запити: ліміт часу за замовчуванням — 60 секунд. Масове нарахування в них не вкладається, тому конфігурацію потрібно привести до такого вигляду. Рекомендовані ліміти часу — 900 секунд (15 хвилин), тобто той самий рівень, у якому розрахунок укладається на Odoo.sh.
/ETC/ODOO/ODOO.CONF
workers = 2 max_cron_threads = 2 limit_time_cpu = 900 ; 15 хв процесорного часу limit_time_real = 900 ; 15 хв реального часу limit_time_real_cron = -1 ; крон без обмеження часу limit_memory_soft = 2147483648 ; 2.0 GiB на процес limit_memory_hard = 2684354560 ; 2.5 GiB на процес db_maxconn = 15 unaccent = True logfile = /var/log/odoo/odoo.log log_level = warn
| Ключове | Навіщо |
| limit_time_cpu / real | 900 секунд замість дефолтних 60. Без цього операція, запущена з інтерфейсу, обривається з помилкою раніше, ніж завершиться розрахунок. |
| limit_time_real_cron = -1 | Знімає обмеження часу з планових дій — саме кроном виконується масове нарахування. На відміну від запиту з інтерфейсу, планова задача не тримає користувача в очікуванні, тому обмежувати її часом немає потреби. |
| limit_memory_soft / hard | 2 і 2.5 GiB на процес. Розрахунок тримає в пам'яті великий обсяг записів; на дефолтних лімітах воркер перезапускається посеред роботи. |
| workers = 2 | Рівно під 2 виділені ядра. Разом із двома крон-процесами це вся паралельність системи — більше на цій конфігурації ставити не можна, бо не вистачить пам'яті. |
Якщо конфігурацію вже змінювали
Наведені значення є мінімально рекомендованими. Якщо у вашому odoo.conf ліміти часу вже вищі за наші — залиште їх без змін. Знижувати їх до цих значень не потрібно: це може обірвати операції, які зараз виконуються успішно.
Виняток — limit_memory_soft і limit_memory_hard. Вони прив'язані до фактичного обсягу оперативної пам'яті сервера, тому їх не варто піднімати «про запас»: сумарна стеля всіх процесів Odoo не повинна перевищувати доступну пам'ять.
3. nginx
Друга половина того самого рішення. Немає сенсу дозволяти Odoo працювати 15 хвилин, якщо проксі розриває з'єднання на 60-й секунді — користувач отримає 504 Gateway Timeout, хоча розрахунок на сервері триває. Значення таймаутів узгоджуються з limit_time_real.
NGINX · КОНФІГУРАЦІЯ САЙТУ
proxy_read_timeout 900s; proxy_send_timeout 900s; proxy_connect_timeout 900s;
ГОЛОВНЕ
Сервер і конфігурація працюють тільки разом. Найпоширеніша помилка — виділити відповідні ресурси, але лишити налаштування за замовчуванням: нарахування обривається по таймауту, і це сприймається як «система не тягне», хоча ресурсів достатньо, а причина — в одному рядку конфігураційного файлу.