November 16, 2025

Твой первый... n8n

Итак, вокруг n8n много хайпа, что же он представляет собой?

Это open-source проект для автоматизаций. Его можно использовать в двух видах: как SaaS или развернуть у себя локально/на удаленном сервере.

SaaS хорош, но он ПЛАТНЫЙ (после первых 14 дней). Еще из минусов есть ограничение на количество запусков ваших автоматизаций, вы не контролируете версию, сетевые настройки, не можете пользоваться локальными файлами и linux утилитами. Можно использовать для каких-то своих несложных процессов.

Self-hosted посложнее в конфигурации, но стоит 1 раз разобраться, и можно клепать ТГ ботов сколько угодно)

Как развернуть свой собственный инстанс?

Идеальным вариантом будет арендовать виртуалку за границей. Так мы получаем сразу выделенный IPv4, с которого нормально работают чатгпт, клод, гемини.

Чтобы поиграться, могу посоветовать ВМ 2 ядра 2 гига с норм конфигурацией бесплатно на 10 дней (не реклама). Выбираем Ubuntu и ждем, запуска сервера. На дашборде нужно Ctrl+c вот эти циферки

Некст, нужно получить домен и SSL сертификат. Я делаю это здесь (тык). Выбираем домен 3 уровня, подключаем DNS на скопированный IPv4 и в разделе Free SSL certificates генерим серт. В итоге должен скачаться архив с 3 файликами: ca.cer, TVOYDOMEN.cet и TVOYDOMEN.key. Они нужны для того, чтобы телега доверяла твоему серверу (когда будем настраивать ТГ бота).

Перекидываем эти файлы на виртуалку. Я перекинул в папку certs. Я юзаю для этого Remote Host в IntelliJ идее:

Но можно и с помощью обыного docker cp.

На всякий случай, нужно дать разрешение на доступ к этим файлам (через терминал по ssh).

cd /certs
chmod 777 ca.cer
chmod 777 TVOYDOMEN.cer
chmod 777 TVOYDOMEN.key

Алсо нужно перекинуть на виртуалку docker-compose.yaml и Dockerfile. Скачай эти файлы здесь (тык):

В docker-compose.yaml замени TVOYDOMEN на тот, что ты создал выше

Собсна запуск n8n

Накатываем на ВМ docker и docker compose. Это специальные штуки, чтобы запускать какие угодно сервисы в КОНТЕЙНЕРАХ. Вкратце, контейнер - это "упакованные" приложения (которые сконфигурированы в docker-compose.yaml), которые запускаются изолированно от остальной системы. Инструкция с офф сайта:

sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
 
sudo systemctl status docker
# Здесь мы должны увидеть Active: active (running)

И запускаем наши контейнеры:

# переходим в папку с docker-compose.yaml, в моем случае /n8n
cd /n8n

docker compose up

После последней команды появится лог успешного запуска контейнеров. Ну или error, если вы что-то сделали не так. После сообщения типа

Editor is now accessible via: n8n-1 | https://TVOYDOMEN

Можно проверить, перейдя по ссылке в браузере, должно вылезти вот это

Чтобы полностью остановить контейнеры, когда вы завершили с ними работу, в этой же директории нужно прописать

docker compose down

Кста, еще контейнеры можно запускать фоном, тогда они не будут висеть в терминале, и можно будет запустить что-то еще:

docker compose up -d

Когда уже про создание тг ботов?

Сейчас все будет.

Создаем новый workflow

Добавляем first step

Выбираем Telegram триггер On message

В этом окне нужно настроить креденшлы

Если вы никогда до этого не создавали тг ботов, это можно сделать в @BotFather. Там нужно скопировать токен:

Вставляем его в окно выше. Этот триггер будет работать, когда пользователь посылает какое-то сообщение в бот. Можно чекнуть, нажав Execute workflow

Добавим ответное сообщение. Нужно послать его по тому же chat id, по которому сработал триггер

Сохраняем и активируем наш воркфлоу (чтобы он работал всегда, а не только когда мы его запускаем вручную):

тЕсТиРуЕм...

Поздравляю, вы прошли курс по основам n8n.

С вас 10 тыщ

Теперь можно настроить вызовы нейронок, скрипты и прочее. Но об этом как-нибудь в другой раз)