← Назад до блогу

Режим черги n8n на Hostinger VPS: вправа з бюджетного розгортання

Ця вправа розгортає режим черги n8n на Hostinger VPS: передумови, підбір розміру, Redis і PostgreSQL, перевірка роботи воркерів.

Невелика серверна вежа у стилі Hostinger поруч із кошиком-черги та фігурками воркерів зображує режим черги n8n на Hostinger.

Перевірено за наведеними джерелами .

Огляд завдання: що ви створите і перевірите

Ця стаття описує редакційну вправу з розгортання режиму черги n8n на Hostinger VPS: перехід від односерверного налаштування до main-процесу, підтримуваного Redis і одним або кількома воркерами, без одразу стрибка до сервера корпоративного розміру. Офіційна документація n8n з масштабування описує режим черги як режим виконання, що забезпечує найкращу масштабованість, і саме тому команди зрештою виходять за межі одного контейнера. Вправа нижче утримує все на одній скромній віртуальній машині, щоб технічний лідер міг побачити, що насправді вимагає цей перехід на практиці, а не лише читати про нього абстрактно.

Завдання: побудувати працюючий стек n8n у режимі черги — main-процес, Redis, PostgreSQL і принаймні один воркер — на одному бюджетному VPS, а потім перевірити, що запланований або вручну запущений робочий процес справді виконується воркером, а не main-процесом. Це подано як практичну вправу для виконання на вашій власній інфраструктурі; нижче ми описуємо документовані можливості та рекомендований шлях, але самі ми не виконували кожен крок і не вимірювали результат, тому сприймайте рекомендації щодо розміру як відштовхну точку, а не перевірений бенчмарк.

Sources: Scaling | Deploy | n8n Docs

Передумови, вхідні дані та обмеження

Передумови: акаунт Hostinger VPS (або еквівалентний провайдер, хоча нотатки щодо розміру нижче специфічні для Hostinger), встановлені на цьому VPS Docker і Docker Compose, достатня впевненість у роботі з Linux-терміналом для редагування файлів .env і запуску compose-команд, а також наявне налаштування n8n, яке ви вже розумієте у звичайному режимі без черги. Попередній досвід адміністрування Redis чи PostgreSQL не потрібен, але варто бути готовим читати логи контейнерів, якщо щось не запускається з першої спроби. Цей розділ описує саме те, що потрібно для режиму черги n8n на Hostinger VPS, а не те, що потрібно для звичайного сервера.

Вхідні дані та обмеження: ця вправа обмежена одним VPS, на якому працюють усі компоненти разом — main-процес, Redis, PostgreSQL і воркери — а не мультисерверним чи мульти-main налаштуванням. Головне обмеження — бюджет: таке налаштування потребує більше vCPU, ніж абсолютний мінімум (розмір визначено в наступному розділі), а власна документація n8n не рекомендує запускати EXECUTIONS_MODE=queue з базою даних SQLite, що виключає найлегшу можливу конфігурацію. Тож вправа передбачає тариф VPS із більшим запасом потужності, ніж абсолютний мінімум n8n для односерверного налаштування, і контейнер PostgreSQL із самого початку.

Sources: Enable queue mode | Deploy | n8n Docs, Parameters and limits of hosting plans in Hostinger, What are the VPS requirements for n8n?

Підбір розміру для режиму черги n8n на Hostinger VPS

Дві серверні вежі різного розміру порівнюють варіанти підбору розміру для режиму черги n8n на Hostinger VPS.
Тісна мінімальна вежа та просторіша вежа ілюструють компроміс у підборі розміру, який розглядається в цьому розділі.

Власний посібник Hostinger щодо вимог для VPS вказує абсолютний мінімум — 1 ядро vCPU, 2 ГБ RAM і 20 ГБ SSD-накопичувача — лише для того, щоб n8n взагалі запустився, але ця цифра описує односерверне налаштування, а не режим черги. Окремий посібник Hostinger щодо режиму черги рекомендує щонайменше 2 vCPU, коли Redis, PostgreSQL, main-процес і воркери працюють разом, і називає власний тариф KVM 2 комфортним варіантом для базового налаштування з трьома воркерами. Це рекомендації постачальника, а не результати незалежного навантажувального тестування, тож сприймайте їх як відштовхну точку для підбору розміру режиму черги n8n на Hostinger VPS, а не як гарантію.

Власна сторінка обмежень тарифів Hostinger зазначає, що ці показники vCPU, RAM і трафіку можуть змінюватися без попередження, тож сприймайте таблицю нижче як миттєвий знімок і перевіряйте поточні цифри у своїй панелі VPS, перш ніж орієнтувати на них покупку.

Той самий посібник Hostinger, посилаючись на документацію n8n, повідомляє, що пам'ять часто важливіша за процесор для продуктивності n8n, і це має значення, коли Redis і PostgreSQL конкурують за RAM поряд із main-процесом і воркерами. Це міркування має практичний наслідок для вибору тарифу: оскільки навантаження не є процесорозалежним, у разі подальшого оновлення варто пріоритизувати RAM, а не додаткові vCPU. Автор контенту Hostinger робить пов'язаний висновок про це саме налаштування:

Тарифи Hostinger VPS, розглянуті для цієї вправи
ТарифЯдра vCPURAMТрафікВідповідність за джерелами
Абсолютний мінімум для n8n (будь-який VPS)12 ГБНе задокументованоЗагальний посібник Hostinger з n8n наводить це як нижню межу, не розраховану на режим черги
Hostinger KVM114 ГБ4 ТБНижче власної рекомендації Hostinger щодо 2 vCPU для режиму черги
Hostinger KVM228 ГБ8 ТБНазваний комфортним варіантом для main, Redis, PostgreSQL і трьох воркерів

На нашу думку, одразу обрати тариф на рівні KVM2 — прагматичне рішення для цієї вправи, оскільки намагання втиснути main, Redis, PostgreSQL і воркери в абсолютний мінімум специфікацій здебільшого лише провокує зайве усунення несправностей. Щодо персистентності, власна документація Redis попереджає, що самого лише RDB-знімка недостатньо, якщо потрібно мінімізувати втрату даних при неочікуваній зупинці Redis, і натомість рекомендує стандартну політику AOF із fsync на диск кожну секунду; також варто зазначити, що змінна імені користувача Redis, яку відкриває n8n, потребує Redis версії 6 або новішої.

Sources: Configuring n8n in queue mode for improved scalability, Parameters and limits of hosting plans in Hostinger, What are the VPS requirements for n8n?, VPS Hosting | Powerful KVM-based Virtual Private Server, Redis persistence, Queue mode | Deploy | n8n Docs

Налаштування режиму черги та розгортання main і воркерів

Послідовність на робочому столі показує спільний ключ, контейнери Redis і PostgreSQL, а потім коробки-воркери, що по одній приєднуються до черги.
Спільний ключ, Redis, PostgreSQL і коробки-воркери, що загоряються по черзі, відображають кроки розгортання, описані в цьому розділі.

Офіційний довідковий приклад Docker Compose від n8n встановлює EXECUTIONS_MODE=queue на кожному контейнері та спрямовує їх до сервісу Redis з назвою redis, із перевірками стану, увімкненими безпосередньо у файлі compose. У тому самому прикладі сервіс воркера повторно використовує спільний блок конфігурації main-сервісу та просто перевизначає команду для запуску в режимі worker замість запуску звичайного процесу, не потребуючи власного окремого образу чи збірки.

Послідовність розгортання режиму черги для цієї вправи: 1. Встановіть спільні змінні середовища; 2. Запустіть Redis і PostgreSQL; 3. Розгорніть main-процес; 4. Запустіть контейнери воркерів; 5. Переконайтеся, що воркери зареєструвалися

Кожен запущений воркер працює як власний екземпляр Node.js у режимі main, згідно з офіційною документацією n8n, і саме так режим черги розподіляє виконання між кількома процесами замість одного. n8n рекомендує встановлювати конкурентність воркера на рівні 5 або вище, хоча також попереджає, що поєднання низької конкурентності з великою кількістю воркерів може виснажити пул з'єднань бази даних. У режимі черги встановлення N8N_CONCURRENCY_PRODUCTION_LIMIT у будь-яке значення, відмінне від -1, перевизначає флаг --concurrency команди воркера, тоді як пов'язаний елемент керування конкурентністю у звичайному режимі стосується лише продакшн-виконань.

Відповідь у форумі спільноти n8n від січня 2022 року зазначає, що немає реальної різниці між Docker-образами worker, main і webhook, і що між ними змінюється лише команда запуску. Ми радимо ставитися до цієї примітки форуму з обережністю: це лише одна відповідь спільноти з 2022 року, позначена як потенційно застаріла, а не гарантія, що сьогоднішні образи worker і main досі поводяться ідентично. Як редакційну обережність ми пропонуємо встановити один N8N_ENCRYPTION_KEY і поширити його на main та кожен контейнер воркера з самого початку, щоб конфігурація, пов'язана з обліковими даними, залишалася узгодженою в міру додавання воркерів.

Sources: Enable queue mode | Deploy | n8n Docs, n8n-hosting/docker-compose/withPostgresAndWorker/docker-compose.yml at main · n8n-io/n8n-hosting · GitHub, Control concurrency | Deploy | n8n Docs, N8N Queue mode load testing - Questions - n8n Community

Критерії завершення, усунення несправностей та підсумки

Планшет із фішками, які позначаються галочками, зображує підтвердження роботи воркерів n8n після вправи з режимом черги.
Фішки, що позначаються галочками, символізують перевірки завершення, описані в цьому розділі, — від ендпоінта готовності до логів воркерів.

Критерії завершення цієї вправи: офіційна документація n8n з моніторингу стверджує, що ендпоінт /healthz/readiness повертає HTTP 200, щойно встановлено з'єднання з базою даних, що є корисною першою перевіркою для main-процесу. Для воркерів зокрема і ендпоінт перевірки стану, і ендпоінт /metrics за замовчуванням вимкнені, тож для їх використання потрібно свідомо увімкнути QUEUE_HEALTH_CHECK_ACTIVE і флаг метрик. Посібник Hostinger із запуску режиму черги n8n на Hostinger VPS пропонує підтверджувати фактичну роботу, перевіряючи логи воркера на наявність запису 'Worker started execution' після запуску робочого процесу.

Якщо нічого не виконується, два найімовірніші винуватці — саме ті, на які прямо вказує документація: обмеження SQLite, вже згадане вище серед передумов, або налаштування конкурентності воркера, занадто низьке для кількості запущених воркерів, як пояснювалося раніше, коли ми розглядали конкурентність. Перевірте логи контейнерів як main-процесу, так і кожного воркера, перш ніж припускати, що проблема в самому Redis.

Підсумок: якщо ваші воркери реєструються і запущений робочий процес з'являється в їхніх логах, у вас справді працює налаштування режиму черги n8n на Hostinger VPS, свідомо обмежене однією машиною, а не розподіленим кластером. Ми вважаємо, що виконати цю вправу на бюджетному VPS, перш ніж братися за більший рахунок у хмарі, — гарне використання кількох годин, оскільки це виявляє кожне конфігураційне рішення, яке вимагає режим черги, — спільні ключі шифрування, PostgreSQL, конкурентність воркерів — без того, щоб команда спершу бралася за більшу інфраструктуру. Сприймайте масштабування за межі одного VPS, окремі хости для Redis і Postgres або налаштування з кількома main як подальшу амбітну мету, а не частину цієї вправи.

Sources: Monitor n8n | Deploy | n8n Docs, Configuring n8n in queue mode for improved scalability, Enable queue mode | Deploy | n8n Docs

Спробуйте на практиці

Практичні завдання з n8n

Оберіть завдання й створіть робочий воркфлоу у власному середовищі n8n – до кожного завдання є п’ять поступових підказок.

Спробувати практичне завдання

Для вашої команди

Програми навчання n8n для однієї команди чи відділу – на вашому власному екземплярі n8n, з вашими інструментами й даними.

Навчання для вашої команди

Оцінка навичок n8n

Безкоштовний тест приблизно на 20 хвилин, англійською: 30 запитань у 10 напрямах і рівень від початківця до експерта. На AI Adoption Score – іншому проєкті автора цього сайту.

Дізнатися свій рівень n8n