← Все постыНаписать

n8n: что это и что я на нём автоматизировал

n8n — это открытая low-code платформа для автоматизации, которая ставится на свой сервер, в том числе через Docker. Я теперь собираю на ней всё: поддерживать проще, чем код, есть логи запусков и отладка. Рассказываю про Telegram-бот с ChatGPT, разнос банковских платежей по таблицам и отчёт из MySQL.

Сценарий автоматизации в n8n

Я с недавнего времени всю автоматизацию стал собирать на n8n.io. Это такая low-code открытая платформа, которая ставится к себе на сервер. Еще и докер есть, который быстро разворачивается.

Удобнее, чем просто писать код. Банально проще поддерживать, кто-то не программист может посмотреть в чем дело + логи запусков + отладка.

Какие задачи я уже для себя решил:

1. ТГ-бот, который поздравляет коллег с днем рождения и годовщиной. Вернее напоминает. Хохмы ради генерит поздравление + картинку с ДР через Чатжпт. Заняло 4 часа.

2. Распределение исходящих платежей из банка по таблицам отчетности. Через веб-хук заносит все расходы в правильные ячейки. 6 часов.

3. Отчет по затраченному времени по задачам / исполнителям. Делает запрос из MySQL и отправляет в общий чат руководителей. 4 часа.

Еще разные мелочи, типа копирования из календаря в календарь встреч.

По стоимости 300руб в месяц за зарубежную вдс. Зарубежную, чтобы она могла к API OpenAI подключаться.

Из минусов — мало коннекторов к русским сервисам, но их можно там собирать. Всем рекомендую.

Как устроен n8n

Сценарий в n8n — цепочка узлов на холсте. Первый узел запускает сценарий, остальные по очереди обрабатывают данные и передают их дальше. Между узлами ходит JSON, и на каждом шаге видно, что пришло на вход и что ушло на выход. Отладка от этого сильно проще, чем в скрипте на сервере.

Код открыт, а лицензия Sustainable Use License разрешает бесплатно ставить n8n у себя и автоматизировать свои процессы. Перепродавать его как сервис нельзя. Есть и облачная версия n8n Cloud, но для неё нужна зарубежная карта.

Что автоматизируют в n8n

Типовые задачи для такой платформы — всё, что человек делает руками по одним и тем же правилам:

  • уведомления в Telegram о новых заявках, оплатах и сбоях;
  • перенос данных между CRM, таблицами и базой;
  • регулярные отчёты из SQL-запросов в общий чат;
  • обработка входящих писем и вложений;
  • генерация текстов и картинок через API нейросетей;
  • синхронизация календарей и задач.

Что это за платформа: триггеры, узлы и код

Запустить сценарий можно по расписанию, по входящему вебхуку, по новому сообщению в Telegram или письму в почте. Дальше идут узлы интеграций: Google Sheets, MySQL, Postgres, OpenAI, Slack и сотни других. Если готового узла нет, выручает HTTP Request: он обращается к любому API.

Для нестандартной логики есть узел Code, в нём пишут на JavaScript или Python. Это и делает n8n low-code платформой, а не конструктором без выхода: упёрся в ограничение — дописал десять строк.

Как поставить n8n на свой сервер

Мне хватает самого простого VDS. Зарубежный нужен, чтобы ходить в API OpenAI без прокси. Установка занимает около получаса.

  • 1. Арендовать VDS с 1–2 ГБ памяти и поставить Docker.
  • 2. Запустить контейнер n8nio/n8n, проброс порта 5678 и том для данных /home/node/.n8n.
  • 3. Направить на сервер поддомен и выпустить HTTPS-сертификат через nginx или Caddy, иначе вебхуки не заработают.
  • 4. Для боевой работы сменить встроенную SQLite на Postgres.
  • 5. Настроить резервное копирование базы и папки с ключами шифрования.

Сколько ресурсов нужно n8n

Для десятка сценариев, которые срабатывают по расписанию и по вебхукам, хватает одного ядра и 1–2 ГБ памяти. Нагрузку создают не сами узлы, а большие объёмы данных: выгрузка тысяч строк из базы или обработка файлов. Если сценарии начинают мешать друг другу, n8n умеет работать в режиме очереди с отдельными исполнителями через Redis. Мне до этого пока далеко.

Следить стоит за диском: журнал запусков с полными данными каждого шага растёт быстрее, чем кажется.

n8n, Make или Zapier

Все три решают одну задачу: связать сервисы без полноценной разработки. Разница в том, где живут данные и сколько стоит рост.

У облачных сервисов цена растёт вместе с числом запусков. Сценарий, который срабатывает раз в минуту, за месяц даёт больше 40 тысяч запусков. На своём сервере это стоит столько же, сколько один запуск.

n8nMakeZapier
Где работаетСвой сервер или облакоТолько облакоТолько облако
ОплатаСвой сервер — только аренда VDSЗа операцииЗа задачи
Свой код в сценарииJavaScript и PythonОграниченноОграниченно
Доступ к внутренней базеНапрямую, если сервер в той же сетиТолько через публичный доступТолько через публичный доступ

Когда n8n не подойдёт

Если автоматизацию будет поддерживать человек без технического бэкграунда и сервер администрировать некому, облачный сервис надёжнее. Обновления, бэкапы и мониторинг на своём сервере — ваша забота. Для меня это не проблема. Для небольшой команды без разработчика может стать.

Как собрать первый сценарий

Начинать лучше с рутины, которая отнимает у кого-то час в неделю и делается по понятным правилам. Напоминания, сводки, перенос данных из одной таблицы в другую. Такие задачи собираются за вечер и сразу показывают пользу.

У меня на бота-напоминалку о днях рождения ушло 4 часа, на отчёт по времени из MySQL — тоже 4. Это хороший ориентир для первого сценария.

  • описать процесс словами: откуда берутся данные, что с ними сделать, куда положить;
  • собрать сценарий на тестовых данных и прогнать вручную;
  • проверить, что будет при пустом ответе или ошибке API;
  • включить расписание или вебхук и неделю смотреть журнал запусков.

Типичные ошибки автоматизации в n8n

Сценарий, который работает на тестовых данных, ещё не готов. Ломается он обычно в три часа ночи, когда API отвечает ошибкой, и узнаёшь об этом через неделю от коллег. Вот что я бы проверил заранее:

  • нет сценария обработки ошибок: в n8n для этого есть узел Error Trigger, который может прислать сообщение в Telegram;
  • токены и пароли вписаны прямо в узлы, а не сохранены в разделе учётных данных;
  • журнал запусков не чистится, и база за полгода разрастается до гигабайтов;
  • один огромный сценарий на всё вместо нескольких маленьких, вызывающих друг друга;
  • нет резервной копии, и после сбоя сервера всё приходится собирать заново.

Вопросы и ответы

Что такое n8n?

Это открытая low-code платформа для автоматизаций, которую ставят на свой сервер. Есть Docker, который быстро разворачивается.

Сколько стоит n8n на своём сервере?

Я плачу 300 рублей в месяц за зарубежный VDS. Зарубежный — чтобы n8n мог подключаться к API OpenAI.

Какие минусы у n8n?

Мало коннекторов к российским сервисам. Но их можно собрать прямо в n8n.

Обсудить в Telegram Подписаться на @altocodes