n8n: установка, настройка и интеграция с Python, Node.JS и PHP
Подробный туториал по установке и настройки n8n. Примеры интеграции с Python, Node.JS и PHP и взаимодействия с LLM Mistral AI.
677 открытий4К показов

n8n — open-source платформа для автоматизации рабочих процессов (workflow), позволяющая создавать сложные цепочки задач без глубоких знаний программирования.
В статье рассмотрим:
- Установку локально и в облаке;
- Интеграцию с Python, Node.js и PHP;
- Примеры автоматизаций;
- Интеграцию с AI Mistral.
Установка n8n
Локальная установка
Нам потребуется Docker, проверьте установку:
Шаги установки:
1. Создайте том данных:
2. Запустите контейнер:
После запуска откройте: `http://localhost:5678`
Установка на удаленном сервере
Развертывание мы произведем в облаке Amvera, так как в нем n8n предоставляется как преднастроенный сервис с бесплатным доменом (он нам нужен), настроенными переменными и проксированием до заблокированных в РФ LLM (OpenAI, Gemini, Claude и др.).
1. Регистрируемся на Amvera;
2. Выбираем n8n в плитке на главной странице;
3. Вводим название для проекта и выбираем тариф.
Готово, через 30 секунд запустится n8n с выделенным доменом и настроенными основными переменными.
Настройка n8n
Первоначальная настройка
1. Откройте n8n (локально: `localhost:5678`, в облаке: ваш домен)
2. Заполните данные администратора:
- Имя/Фамилия
- Пароль
3. По желанию вы можете получить бесплатный лицензионный ключ:
- Введите email → "Send me a free license key"
- Активируйте в разделе Settings → Usage
Настройка для HTTP
1. Создайте новый workflow → Start from scratc
2. Добавьте триггер: Webhook - On webhook call
3. Настройте:
- HTTP Method: POST
- Path: `/n8n` (пример)
- Respond Mode: Using 'Respond to Webhook' node
4. Добавьте обработчик: Core → Respond to Webhook
5. Настройте ответ:
Примеры использования
Пример на Python
В примере на Python мы сделаем калькулятор. Суть: отправляем выражение через POST, n8n делает вычисление, возвращаем результат.
Workflow:
1. Добавьте Core → Code node между Webhook и Respons:
Клиент (Python):
Запустим код и посмотрим результат:
Пример на PHP
В примере на PHP мы сделаем валидацию данных. Суть: отправляем данные через POST, n8n проверяет данные, возвращает результат.
Workflow (Code node):
Клиент (PHP):
Можем зайти на нашу страницу, все работает нормально:
Пример на Node.js
Примером на node.js будет фильтр запрещенных слов. Суть: отправляем текст, n8n проверяет на наличие плохих слов, возвращает результат.
Workflow (Code node):
Клиент (Node.js):
Перед запуском установим библиотеку командой `npm install axios`
Интеграция n8n с Mistral AI
Мы интегрируем нейросеть Mistral в телеграмм-бота на C# с помощью n8n. Перед тем как начать, нам нужно получить токен.
1. Зарегистрируйтесь на Mistral
2. Создайте агента Сreate an agent
3. Перейдите в раздел API Keys
4. Создайте и скопируйте API-ключ (звездочки наложены):
Теперь нужно создать credentials для работы с созданной моделью. Для этого в правом верхнем углу нажмите Create credentials. В списке найдите Mistral Cloud API. В открывшемся окне вставьте скопированный ключ и сохраните.
Осталось настроить workflow.
1. Добавляем Webhook:
- Method: POST
- PATH: n8n
- Respond: Using 'Respond to Webhook' Node
2. Добавляем AI Agent:
- Source for Prompt: Define below
- Prompt: `{{ $json.body.text }}`
3. Подключаем Chat Model к созданному агенту:
- Credential to connect with: Mistral Cloud API
- Model: mistral-large-2411
4. Добавляем Respond to Webhook
Вот так выглядит готовый workflow:
Можем приступить к созданию бота. Для начала введите эти команды по очередности:
Переходим в папку с кодом и редактируем файл `Program.cs`:
Запустите бота с помощью команды `dotnet run`.
Автоматизируем с помощью n8n
В примере автоматизации мы сделаем бота, который будет отправлять уведомления при заполнении формы, полностью без кода.
Для работы с Telegram Node понадобиться создать credentials Telegram API. Туда вставляем токен бота, полученный в @BotFater. Сохраняем и переходим к настройке workflow.
Создаем новый workflow.
1. Добавляем On form submission. В качестве примера я создам самую простую форму:
Перейдите по ссылке в Producrion URL чтобы заполнить форму.
2. Добавляем Telegram Node:
- Credential to connect with: Telegram account
- Resource: Message
- Operation: Send message
- Chat ID: вставьте свой telegram id
Text:
Готово! При новых заявках бот будет присылать уведомления.
Деплой бота в Amvera Cloud
Перед тем как начать деплой, мы должны создать конфигуационнный файл `amvera.yml`. Для этого создаем его в рабочем каталоге с ботом и вводим следующее:
Строго говоря, этот файл проще создать в конфигураторе в интерфейсе.
2. Структура проекта будет такой:
tg-bot/
├── Program.cs
├── tg-bot.csproj
├── amvera.yml
├── bin/
└── obj/
Идем В Amvera Cloud и создаем приложение Приложения — Создать приложение. Вводим название и выбираем тариф.
Далее загружаем все файлы, что есть у нас в каталоге, с ботом. В конце будет окно с настройкой конфигуцрации, выглядит оно так:
Нажимаем Завершить и ждем когда приложение будет запущено.
Заключение
n8n — мощный инструмент для создания интеграций и автоматизаций. Надеюсь, статья была вам полезна и буду рад обсудить в комментариях любые вопросы!
677 открытий4К показов