n8n установка и настройка: Docker, Telegram, AI-агенты

N8n: шпаргалка IT-инженера по автоматизации и AI-агентам
Быстрый ответ
n8n — open-source платформа автоматизации с визуальным редактором workflow. Запустить локально — одна команда через Docker. Подключить к Telegram, GPT, базе данных — 15 минут. Community-версия бесплатна и без ограничений по числу workflow.

Что такое n8n и зачем он тебе нужен

Ты приходишь утром. Открываешь почту — там 40 писем с заявками. Открываешь CRM — половина не занесена. Открываешь Slack — там вопросы, на которые уже ответили в этих письмах. Три инструмента, три вкладки, руки делают работу, которую должна делать машина.

n8n это и есть та машина.

По факту — workflow-автоматизатор с визуальным редактором, 400+ готовыми интеграциями и встроенной поддержкой AI-агентов. Аналог Zapier и Make, но open-source и работает у тебя на сервере. Никакой абонентки, никакого лимита по задачам, никакого «ваши данные уехали на чужой сервер».

Что получишь от этой статьи:

  • Запустишь n8n локально или на VPS за 10 минут
  • Создашь первый workflow от триггера до действия
  • Подключишь Telegram-бота и внешний API
  • Поднимешь HTTPS через nginx
  • Настроишь AI-агента с нейросетью
  • Разберёшь частые ошибки и как их чинить

Времени нужно: 30-60 минут на полную установку и первый рабочий workflow.

Что нужно: Linux-сервер или локальная машина, Docker или Node.js 18+, базовое понимание командной строки.

%%{init: {
  'theme': 'base',
  'themeVariables': {
    'primaryColor': '#ffffff',
    'primaryTextColor': '#1e293b',
    'primaryBorderColor': '#94a3b8',
    'lineColor': '#64748b',
    'fontSize': '15px',
    'fontFamily': 'ui-sans-serif, system-ui, sans-serif'
  },
  'flowchart': {'curve': 'linear', 'nodeSpacing': 50, 'rankSpacing': 50}
}}%%
flowchart TD
    A["Триггер\n(Webhook / Cron / Telegram)"] --> B["Workflow Engine\nn8n Core"]
    B --> C["Нода обработки\n(IF / Set / Code)"]
    C --> D["AI-агент\n(OpenAI / LangChain)"]
    C --> E["Интеграция\n(Slack / Sheets / DB)"]
    D --> E
    style A fill:#f8fafc,stroke:#3b82f6,stroke-width:2px,color:#1e40af
    style B fill:#f8fafc,stroke:#8b5cf6,stroke-width:2px,color:#5b21b6
    style C fill:#f8fafc,stroke:#94a3b8,stroke-width:2px,color:#334155
    style D fill:#f8fafc,stroke:#f97316,stroke-width:2px,color:#9a3412
    style E fill:#f8fafc,stroke:#22c55e,stroke-width:2px,color:#15803d

Чем n8n отличается от аналогов

Запрос «n8n аналоги» в Google выдаст тебе Zapier, Make (бывший Integromat), Pipedream и ещё десяток сервисов. Вот честное сравнение:

Платформа Цена Self-hosted AI-агенты Кастомный код Лимиты
n8n Community Бесплатно Да Да Да (JS/Python) Нет
n8n Cloud Starter от $20/мес Нет Да Да 2500 задач/мес
Zapier Free Бесплатно Нет Частично Нет 100 задач/мес
Make Free Бесплатно Нет Нет Нет 1000 операций/мес
Pipedream от $0 Нет Да Да 10k кредитов/мес

Вывод простой: если у тебя есть сервер — n8n Community закрывает 95% задач бесплатно и без потолка. Если сервера нет и лень возиться — n8n Cloud Starter дешевле Zapier при сопоставимом функционале.

n8n установка через Docker — самый быстрый способ

Docker — рекомендованный способ. Без него можно, но с ним проще обновлять, бэкапить и не засорять систему.

Подготовка

Проверь, что Docker установлен:


docker --version
docker compose version

Должно вернуть что-то вроде Docker version 24.x и Docker Compose version v2.x. Если нет — поставь Docker по официальной документации для своей ОС.

Создай директорию для данных n8n:


mkdir -p ~/n8n/data

Шаг 1. Запуск одной командой

Для быстрого теста — просто запусти контейнер:


docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v ~/.n8n:/home/node/.n8n \
  docker.n8n.io/n8nio/n8n

Результат: n8n поднимется на http://localhost:5678. Открой браузер, зарегистрируй аккаунт — готово.

Для продакшна — используй docker-compose
Команда выше поднимает n8n без персистентности настроек между перезапусками. Для реального использования нужен docker-compose с томом и переменными окружения — смотри следующий шаг.

Шаг 2. Docker Compose — правильная установка n8n

Создай файл конфигурации:


mkdir ~/n8n && cd ~/n8n
nano docker-compose.yml

Вставь содержимое:


version: "3.8"

services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=localhost
      - N8N_PORT=5678
      - N8N_PROTOCOL=http
      - N8N_ENCRYPTION_KEY=замени-на-случайную-строку-32-символа
      - GENERIC_TIMEZONE=Europe/Moscow
      - TZ=Europe/Moscow
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  n8n_data:

Запусти:


docker compose up -d

Проверь что поднялось:


docker compose ps
docker compose logs n8n --tail=20

Результат: в логах должна быть строка Editor is now accessible via: http://localhost:5678/. Это значит n8n живёт.

Шаг 3. n8n с PostgreSQL для надёжного хранилища

По умолчанию n8n хранит данные в SQLite. Для нагруженного использования — переключись на PostgreSQL:


version: "3.8"

services:
  postgres:
    image: postgres:15
    restart: always
    environment:
      POSTGRES_USER: n8n
      POSTGRES_PASSWORD: сильный-пароль
      POSTGRES_DB: n8n
    volumes:
      - postgres_data:/var/lib/postgresql/data

  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=yourdomain.com
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - N8N_ENCRYPTION_KEY=замени-на-случайную-строку-32-символа
      - GENERIC_TIMEZONE=Europe/Moscow
      - TZ=Europe/Moscow
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=сильный-пароль
    depends_on:
      - postgres
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  n8n_data:
  postgres_data:

n8n установить без Docker — через npm

Если Docker не вариант — ставь через npm. Нужен Node.js 18 или выше.


# Проверь версию Node.js
node --version

# Установи n8n глобально
npm install -g n8n

# Запусти
n8n start

Для работы в фоне — поставь PM2:


npm install -g pm2
pm2 start n8n
pm2 save
pm2 startup

n8n HTTPS — настройка через nginx

Без HTTPS Telegram Webhook не подключишь, да и вообще в 2025 году HTTP на продакшне — это моветон.

Установи nginx и certbot


apt update && apt install -y nginx certbot python3-certbot-nginx

Создай конфиг nginx


nano /etc/nginx/sites-available/n8n

server {
    listen 80;
    server_name yourdomain.com;

    location / {
        proxy_pass http://localhost:5678;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 88400;
    }
}

# Активируй конфиг
ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx

# Получи SSL-сертификат
certbot --nginx -d yourdomain.com
Важно: обнови переменные в docker-compose
После настройки HTTPS замени в docker-compose.yml значения N8N_HOST на yourdomain.com и N8N_PROTOCOL на https. Перезапусти контейнер командой docker compose up -d.

Как работают ноды в n8n

Нода — это один блок в workflow. Нода принимает данные на вход, что-то с ними делает, отдаёт на выход. Соединяешь несколько нод — получаешь автоматизацию.

Три типа нод которые нужно знать в первую очередь:

Trigger-ноды запускают workflow. Webhook, Cron, Telegram Trigger, Email Trigger, Manual Trigger. Workflow начинается всегда с триггера.

Action-ноды что-то делают. HTTP Request, Send Email, Google Sheets, Telegram, Slack, Set, Code. Их больше 400.

Logic-ноды управляют потоком. IF (условие), Switch (несколько веток), Merge (объединить потоки), Loop Over Items (цикл по массиву), Wait (задержка).

Первый workflow в n8n — пошагово

Сделаем простое: триггер по расписанию → HTTP-запрос к API → отправка результата в Telegram.

Шаг 1. Создай новый workflow

Открой n8n. Нажми «New Workflow» в левом меню. Нажми «+» на канвасе — появится меню выбора ноды.

Шаг 2. Добавь триггер по расписанию

Найди «Schedule Trigger». Настрой интервал — например каждый час. Нода появится на канвасе.

Шаг 3. Добавь HTTP Request

Нажми «+» после Schedule Trigger. Выбери «HTTP Request». Настройки:

  • Method: GET
  • URL: https://api.coindesk.com/v1/bpi/currentprice.json

Нажми «Execute step» — увидишь данные о курсе Bitcoin в панели результатов справа.

Шаг 4. Добавь нodu Set для форматирования

После HTTP Request — нода «Edit Fields (Set)». Добавь поле:

  • Name: message
  • Value: Bitcoin: {{ $json.bpi.USD.rate }} USD

Шаг 5. Подключи Telegram

Добавь ноду «Telegram». Нажми «Credential for Telegram API» — создай новый. Вставь токен бота (получить у @BotFather). Настрой:

  • Operation: Send Message
  • Chat ID: твой chat_id
  • Text: {{ $json.message }}

Шаг 6. Активируй workflow

В правом верхнем углу переключи тумблер «Inactive» в «Active». Workflow сохранится и запустится по расписанию.

Готово
Первый рабочий workflow запущен. Каждый час Telegram-бот будет присылать актуальный курс Bitcoin. Это база — от неё строятся любые автоматизации.

n8n Telegram — подключение бота и обработка команд

Самый популярный сценарий использования n8n — боты в Telegram. Вот как подключить входящие сообщения.

Создай бота

Напиши @BotFather в Telegram, отправь /newbot, задай имя и юзернейм. Получишь токен вида 123456789:AAF....

Настрой Webhook

Для Webhook нужен HTTPS
Telegram принимает только HTTPS-вебхуки. Если ещё не настроил SSL — сначала сделай это по разделу про nginx выше.

Зарегистрируй вебхук через Telegram API:


curl "https://api.telegram.org/bot<ТВОЙ_ТОКЕН>/setWebhook?url=https://yourdomain.com/webhook/telegram"

Ответ должен содержать "ok":true.

Создай workflow для обработки сообщений

В n8n создай новый workflow. Добавь ноду «Telegram Trigger» с твоими кредами. Она будет получать все входящие сообщения.

После — нода IF с условием:


{{ $json.message.text }} == "/start"

На ветку «True» — Telegram нода с ответом «Привет! Бот работает.»

На ветку «False» — ещё одна Telegram нода с эхо-ответом: Ты написал: {{ $json.message.text }}

n8n AI-агент — подключение нейросети

n8n встроил поддержку LangChain и AI-агентов начиная с версии 1.x. Это не просто «вызов OpenAI API» — это полноценный агент с памятью, инструментами и цепочкой рассуждений.

Шаг 1. Добавь ноду AI Agent

На канвасе выбери «AI Agent» из категории Advanced AI. Нода содержит три слота: Chat Model, Memory, Tools.

Шаг 2. Подключи OpenAI

В слот «Chat Model» перетащи ноду «OpenAI Chat Model». В настройках создай кред — вставь API-ключ от OpenAI. Выбери модель: gpt-4o или gpt-4o-mini для экономии.

Шаг 3. Добавь память

В слот «Memory» — нода «Window Buffer Memory». Параметр «Context Window Length» поставь 10 — агент будет помнить последние 10 сообщений диалога.

Шаг 4. Добавь инструменты

В слот «Tools» можно добавить любые ноды которые агент сможет вызывать самостоятельно. Например:

  • «Calculator» — агент будет считать сам
  • «HTTP Request Tool» — агент сможет делать запросы к API
  • «Code Tool» — агент выполнит JS-код
  • «Google Sheets Tool» — агент прочитает/запишет данные в таблицу

Перед связкой триггер → AI Agent добавь System Prompt через ноду «Set»:


Ты — ассистент службы поддержки компании. Отвечай на русском языке.
Если не знаешь ответа — честно скажи об этом.
Используй инструменты только когда это действительно нужно.

n8n шаблоны — где брать готовые workflow

Писать всё с нуля не нужно. n8n имеет официальную библиотеку шаблонов на n8n.io/workflows — там 1000+ готовых workflow.

Самые популярные категории:

  • AI и ChatGPT — обработка документов, суммаризация, RAG-системы
  • CRM-автоматизация — синхронизация лидов, уведомления, скоринг
  • DevOps — мониторинг сервисов, алерты, деплой по webhook
  • E-commerce — обработка заказов, уведомления, отчёты
  • Telegram-боты — поддержка, рассылки, команды

Импорт шаблона: открой нужный workflow на сайте, нажми «Use workflow», скопируй JSON. В n8n — «Import from URL» или вставь JSON вручную через «Import from File».

n8n Max — что это и чем отличается от Community

n8n существует в нескольких редакциях. Вот что реально отличается:

Функция Community (бесплатно) Starter ($20/мес) Pro ($50/мес) Enterprise
Workflow-лимит Нет 2500 задач/мес 10 000 задач/мес Не ограничен
Пользователи Нет лимита (self-hosted) 2 5 Не ограничен
RBAC Нет Нет Да Да
Логи выполнения Ограниченно 7 дней 30 дней Не ограничено
SSO/SAML Нет Нет Нет Да
Self-hosted Да Нет Нет Да

«n8n Max» в поиске часто подразумевает Enterprise-план или максимальную конфигурацию self-hosted. Для большинства задач — Community с самохостингом закрывает всё.

Проверка работоспособности n8n

Проверь статус контейнера


docker compose ps
# Должно показать: n8n   Up X hours

Проверь логи на ошибки


docker compose logs n8n --tail=50 | grep -i error

Проверь доступность интерфейса


curl -I http://localhost:5678
# Должен вернуть HTTP 200 или 301

Проверь выполнение workflow

В интерфейсе n8n открой «Executions» в левом меню. Там отображается история всех запусков с результатами. Зелёный статус — успех. Красный — нужно смотреть в детали ошибки.

Частые ошибки и как их чинить

n8n не запускается — порт занят

Ошибка: port 5678 already in use
Порт занят другим процессом. Найди и останови его, или поменяй порт n8n.

# Найди что занимает порт
lsof -i :5678
# или
ss -tulpn | grep 5678

# Убей процесс по PID
kill -9 PID

# Или поменяй порт в docker-compose.yml
# ports: - "5679:5678"

Webhook не получает данные от Telegram

Ошибка: webhook не работает
Чаще всего это HTTP вместо HTTPS, неправильный URL, или не совпадает путь. Проверь регистрацию вебхука.

# Проверь текущий вебхук Telegram
curl "https://api.telegram.org/bot<ТОКЕН>/getWebhookInfo"

# Переустанови вебхук
curl "https://api.telegram.org/bot<ТОКЕН>/setWebhook?url=https://yourdomain.com/webhook/telegram"

# Проверь что nginx проксирует правильно
curl -v https://yourdomain.com/webhook/telegram

n8n не подключается к PostgreSQL


# Посмотри логи
docker compose logs n8n | grep -i postgres

# Проверь доступность базы изнутри контейнера n8n
docker exec -it n8n_n8n_1 ping postgres

# Проверь переменные окружения
docker exec -it n8n_n8n_1 env | grep DB_

Workflow выдаёт ошибку «Cannot read properties of undefined»

Это значит что нода ожидает данные, которых нет. Смотри на входные данные ноды — нажми на красную ноду, открой панель «Input». Там видно что пришло. Скорее всего — путь к полю написан неправильно.

Проверь структуру данных через выражение в ноде «Set»:


{{ JSON.stringify($json) }}

Это выведет весь JSON на входе — сразу увидишь как выглядит структура.

Ошибка 502 Bad Gateway на nginx


# Проверь что n8n запущен
docker compose ps

# Проверь логи nginx
tail -50 /var/log/nginx/error.log

# Убедись что порт слушается
ss -tulpn | grep 5678

n8n скачать новую версию — обновление


cd ~/n8n

# Потяни новый образ
docker compose pull

# Перезапусти с новым образом
docker compose up -d

# Проверь версию
docker exec -it n8n_n8n_1 n8n --version

Профилактика — как не словить проблемы снова

Настрой автоматический бэкап

Данные n8n хранятся в Docker-томе. Бэкап тома раз в сутки — нормальная практика:


# Добавь в crontab
crontab -e

# Бэкап каждый день в 3 ночи
0 3 * * * docker run --rm -v n8n_n8n_data:/data -v /backup:/backup alpine tar czf /backup/n8n-$(date +%Y%m%d).tar.gz /data

Настрой мониторинг

Самый простой вариант — периодический health-check через сам n8n. Создай workflow: Cron каждые 5 минут → HTTP Request к http://localhost:5678/healthz → IF статус != 200 → отправь алерт в Telegram.

n8n мониторит сам себя. Рекурсивно, зато надёжно.

Ограничь доступ к интерфейсу


# В nginx добавь базовую аутентификацию или IP-whitelist
location / {
    allow 1.2.3.4;  # твой IP
    deny all;
    proxy_pass http://localhost:5678;
    ...
}

Настрой переменные окружения правильно

Никогда не хардкоди API-ключи прямо в нодах. В n8n есть «Credentials» — используй только их. Зашифрованы ключом N8N_ENCRYPTION_KEY, который задаёшь при установке.

Одна строка в crontab без комментария способна положить всё что ты выстраивал последние три дня. Документируй конфиг прямо в нём — через #.

n8n обучение — что изучить дальше

Когда базовый workflow работает — вот куда двигаться дальше:

  • Expressions и встроенные функции — $json, $node, $workflow, методы работы со строками и датами
  • Sub-workflows — выноси повторяющиеся блоки в отдельные workflow и вызывай их
  • Error Workflow — отдельный workflow для обработки ошибок, который запускается автоматически при сбое
  • Custom nodes — написание собственных нод на TypeScript если нужен интегратор которого нет в списке
  • n8n API — управление workflow программно через REST API самого n8n

FAQ

Можно ли использовать n8n бесплатно без ограничений?

Да. Community Edition — полностью бесплатная, open-source, без лимитов по числу workflow, задач или пользователей. Единственное условие — сам хостишь на своём сервере. n8n Cloud бесплатен только в пробный период, потом от $20 в месяц.

Как проверить что n8n успешно запустился?

Три способа. Первый — открой браузер и зайди на http://localhost:5678, должна показаться форма входа. Второй — выполни curl -I http://localhost:5678 и жди HTTP 200. Третий — docker compose logs n8n --tail=20 и ищи строку «Editor is now accessible via».

Что если workflow запускается, но данные не приходят в Telegram?

Проверяй в таком порядке: статус выполнения workflow в разделе Executions, токен бота и chat_id в кредах Telegram, регистрацию вебхука через getWebhookInfo, наличие HTTPS если используешь Telegram Trigger. В 80% случаев — неверный chat_id или бот не является администратором в групповом чате.

Чем n8n отличается от Zapier?

Главное отличие — n8n self-hosted и open-source. Zapier всегда в облаке, данные проходят через их серверы, есть жёсткие лимиты на бесплатном плане. n8n поддерживает написание кода прямо в нодах на JavaScript и Python, что Zapier не умеет. При сопоставимой нагрузке n8n на своём VPS обходится в 5-10 долларов в месяц против $50+ у Zapier.

Как подключить n8n к локальной нейросети / LLM?

В n8n есть ноды для Ollama — это локальный запуск LLM без интернета. Добавь ноду «Ollama Chat Model», укажи адрес Ollama API (http://localhost:11434) и имя модели (llama3, mistral и т.д.). Подключи к AI Agent как Chat Model — агент будет работать полностью локально.

n8n скачать — откуда брать официальный образ?

Официальный Docker-образ: docker.n8n.io/n8nio/n8n. npm-пакет: npm install -g n8n. Исходники на GitHub: github.com/n8n-io/n8n. Не используй неофициальные образы с Docker Hub — только официальный реестр n8n.

Итог

У тебя теперь есть работающий n8n, первый workflow, подключённый Telegram-бот и понимание как строить AI-агентов. Это не туториал-однодневка — этой инсталляцией можно пользоваться в продакшне прямо сейчас.

Самое важное что n8n даёт — скорость. Автоматизация которая раньше требовала написать скрипт, настроить крон и задеплоить — теперь делается за 15 минут через визуальный редактор. Это реально меняет то как ты работаешь с рутиной.

Не заработало?
Пиши в комментарии с текстом ошибки из логов — разберёмся. Большинство проблем решается за два-три уточняющих вопроса.
Андрей Анатольевич
Author: Андрей Анатольевич

Руководитель ИТ / Кризис-менеджер 25 лет в IT: от инженера в МегаФоне до руководителя отдела. Знаю, как выглядит бардак: нестабильные сети, устаревшая инфраструктура, конфликты в команде, раздутые сроки. Помогаю бизнесу выходить из кризиса: навожу порядок в легаси, стабилизирую то, что разваливается, выстраиваю прогнозируемые процессы. Не раз возвращал к жизни ИТ-структуры — знаю цену хаосу. 📍 Ищу проект для полной реорганизации / стабилизации. 📬 Telegram: @over_dude ✉️ mail@it-apteka.com

Оставайтесь на связи

Рецепты от IT-боли. Без воды, без рекламы, без маркетинговой шелухи.

Подписаться на IT-Аптеку →

Мы ВКонтакте

IT-Аптека — советы, новости и помощь рядом.

Вступить в группу ВКонтакте →
Поделитесь:

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх