Первое знакомство с n8n
Что такое n8n
n8n — это инструмент для автоматизации рабочих процессов (workflow automation). Представлен как визуальный конструктор, доступный через веб-интерфейс.
Вы можете использовать n8n как облачный сервис, или развернуть на своём сервере бесплатно (по лицензии fair-code) — ниже покажу, как.
Полезные сылки:
В n8n всё строится на «нодах» — блоках, которые вы добавляете на холст, настраиваете и связываете в цепочки.
Примеры популярных нод:
- Manual Trigger — запускает воркфлоу вручную по нажатию кнопки.
- Schedule Trigger — выполняет действия по расписанию (например, каждый час).
- HTTP Request — делает запросы к сторонним API (погода, курсы валют, CRM и т.д.).
- Edit Fields — редактирует данные: оставляет нужные поля, переименовывает, вычисляет.
- Telegram — отправляет сообщения, принимает команды, работает с файлами.
Интеграций очень много: базы данных, GitHub/GitLab, почта, Google Drive, Slack, Jira, Notion и многие другие.
Создавая workflow вы можете придумывать свою логику:
- Запуск по расписанию или срабатыванию триггера (новый файл в Google Drive, письмо на email, вебхук).
- Ветвление: если данные одни -> сделать первое действие, а если другие -> выполнить другое действие.
- Циклы, обработка ошибок, преобразование данных.
Я пока не пользовался n8n на практике, поэтому реальных кейсов автоматизации у меня нет. Но если что-нибудь придумаю, обязательно напишу.😄
🔒 Функциональные ограничения бесплатной версии:
- Только стандартная аутентификация по email + пароль. Нет ldap, sso.
- Можно создать только одного администратора (
owner), остальных будут простыми пользователями (member). - Нет логов: кто создал/изменил/удалил воркфлоу, когда менялись креденшелы, кто запускал исполнения.
📜 Лицензионные ограничения:
- Разрешено: внутреннее использование в компании, личные проекты, автоматизация для некоммерческих целей, тестирование, модификация кода.
- Запрещено без покупки лицензии:
- Предоставлять n8n как сервис другим клиентам (SaaS на базе n8n).
- Использовать n8n как ядро коммерческого продукта.
- Перепродавать или сдавать в аренду.
Установка n8n в docker
Так как я буду показывать установку n8n в dicker, то считаю что у вас уже установлены docker и docker compose. Про их установку я писал здесь - Первое знакомство с Docker — установка и базовые понятия.
Во-первых, создаём и переходим в каталог проекта:
mkdir n8n && cd n8n
Затем, подготовим всё для запуска обратного прокси caddy. Создадим само-подписанный SSL сертификат:
mkdir tls/
openssl genrsa -out tls/key.pem 2048
openssl req -new -x509 -sha256 \
-key tls/key.pem \
-out tls/cert.pem \
-days 3650 \
-subj "/CN=ваш_домен" -addext "subjectAltName = DNS:ваш_домен"
- Не забудьте, в команде выше, изменить ваш домен.
Создадим Caddyfile:
{
# Отключаем автоматический HTTPS (Let's Encrypt), так как используем свой сертификат
auto_https off
}
ваш_домен {
tls /etc/caddy/tls/cert.pem /etc/caddy/tls/key.pem
reverse_proxy n8n:5678
}
Пришло время создать docker-compose.yml:
services:
n8n:
image: docker.n8n.io/n8nio/n8n
container_name: n8n
environment:
- N8N_HOST=ваш_домен
- N8N_PORT=5678
- N8N_PROTOCOL=https
- WEBHOOK_URL=https://ваш_домен/
- N8N_EDITOR_BASE_URL=https://ваш_домен/
- N8N_SECURE_COOKIE=true
- N8N_PROXY_HOPS=1
- N8N_LOG_LEVEL=error
- GENERIC_TIMEZONE=Europe/Moscow
volumes:
- n8n_data:/home/node/.n8n
restart: unless-stopped
caddy:
image: caddy:latest
container_name: caddy
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./tls:/etc/caddy/tls:ro
- caddy_data:/data
- caddy_config:/config
restart: unless-stopped
depends_on:
- n8n
volumes:
caddy_data:
caddy_config:
n8n_data:
И наконец, запускаем контейнеры:
sudo docker compose up -d
Первый вход
Открываем ресурс в браузере и создаём нового пользователя:

- Это будет администратор системы, только он сможет создавать остальных пользователей.
Затем у вас спросят, что у вас за компания и от куда вы узнали про n8n:

Создание первого Workflow
После входа, вы увидите чистый холст. На этот холст вы будите добавлять ноды и соединять их в цепочку.

Добавим на холст ноду Manual Trigger. С его помощью вы сможете запускать workflow вручную, просто кликнув по нему.
Затем, добавим HTTP Request. Через него мы обратимся api.exchangerate-api.com за курсом валют. После добавления укажем:
- метод -
get; - url -
https://api.exchangerate-api.com/v4/latest/USD.

И ещё добавим Edit Fields. В настройках просто перетащите слева RUB в поле data:

После перетаскивания в поле появляется запись: {{ $json.rates.RUB }}. А в выводе появляется результат: 75.04.
Вот как будет выглядеть наш workflow:

Если снизу открыть панель Logs, и выбрать Edit Fields вы увидите курс Доллара по отношению к Рублю:

Полученный результат вы можете: отправить себе на почту, в telegram, в google drive, сохранить в базе данных и т.д.
Отправка результата в Telegram
Для Telegram API вам потребуется создать Credential. Это делается в верхнем левом меню.

Здесь просто введите токен вашего Telegram бота:

После этого, добавьте ноду Telegram и выберите метод Send a text message. Перетяните RUB в поле Text. А в Chat ID напишите ID того чата, куда необходимо прислать сообщение (узнать его можно с помощью бота @IDd_Helper_Bot).

Теперь, как только вы запустите workflow, то получите сообщение в Telegram.

Вся сила n8n в узлах интеграции. Вы можете работать с GitLab, GitHub, Google Drive, Telegram API, SSH, Postgres, Zabbix API, OpenAI и ещё много с чем.
Если понравилась статья, подпишись на мой канал в VK или Telegram.