n8n — это гибкий фреймворк с удобным Web UI для построения цепочек автоматизации процессов, основанных на AI.
Говоря простыми словами, n8n позволяет автоматизировать почти любой процесс с помощью AI, при этом все действия производятся в интуитивно понятном Web UI, который использует блоки (nodes) и связи между ними для построения интерактивных схем работы процесса, которые могут выполняться или в облаке, или на VPS.
В этой статье мы дадим подробную пошаговую инструкцию по установке, настройке и запуску n8n на VPS с помощью Docker Compose. Будем использовать наработки из статьи про развертывание Ollama на VPS как базу, поскольку наш n8n будет использовать Ollama для локального запуска LLM.
В итоге у нас получится рабочий конвейер из n8n, Ollama и Open WebUI, который в будущем можно модернизировать под любые задачи автоматизации.
Требования к оборудованию и ОС
В нашей схеме n8n будет использовать Ollama для запуска локальных LLM. Это ресурсоемкая операция, требовательная к объему RAM, ведь LLM должна целиком загрузиться в RAM перед началом работы. О критериях выбора LLM и о требованиях к оборудованию мы подробно рассказали в статье про развертывание Ollama на VPS. Сейчас же мы кратко изложим требования к VPS для запуска описываемого нами в статье стека.
Минимальные требования:
- CPU: 4 ядра
- RAM: 8 GB
- Disk: 100 GB
- ОС: Ubuntu 24
VPS минимальной конфигурации подойдет для запуска LLM с невысоким уровнем точности ответов и с низкой степенью владения инструментами. Оптимальные требования:
- CPU: 8 ядер
- RAM: 16 GB
- Disk: 200 GB
- ОС: Ubuntu 24
На VPS с оптимальной конфигурацией могут запускаться LLM с высоким уровнем точности ответов и с высокой степенью владения инструментами. Именно на такой VPS мы и будем запускать наш стек. Также стоит учесть, что помимо LLM ресурсы VPS будут еще потреблять n8n, Open WebUI и сам Docker. Поэтому стоит оставить один‑два GB RAM свободными для нужд ОС и других сервисов. Например, если вы будете использовать deepseek-r1:7b, который потребляет 5 GB RAM, потребуется VPS с 8 GB RAM.
Подготовка compose-файла и запуск n8n
Для запуска n8n мы будем использовать Docker Compose и официальный образ n8n версии 1.87.0, так как это стабильная сборка и она легко запускается в self-hosting‑режиме с доступом по порту без HTTPS. В более старших версиях подобный вариант запуска сильно усложнен объявлением большого количества переменных окружения и измененным механизмом работы с webhook.
Также дополнительно мы запустим Redis для сохранения контекста LLM и Netdata для мониторинга потребления ресурсов VPS.
Подготовка compose-файла
Скачать готовый compose-файл для быстрого запуска n8n можно из нашего репозитория — файл compose.yaml лежит в директории ollama_openwebui_n8n. Перед запуском compose-файла замените значение переменной окружения SERVER_IP в файле .env на реальный IP вашего сервера.
Приведем сниппет кода запуска n8n с помощью Docker Compose:
n8n:
image: n8nio/n8n:${N8N_VERSION}
container_name: n8n
restart: unless-stopped
volumes:
- n8n_data:/home/node/.n8n
depends_on:
- ollama
- redis
environment:
- N8N_HOST=${N8N_HOST}
- N8N_PROTOCOL=${N8N_PROTOCOL}
- N8N_PORT=${N8N_CONTAINER_PORT}
- WEBHOOK_URL=http://${SERVER_IP}:${N8N_HOST_PORT}/
- N8N_EDITOR_BASE_URL=http://${SERVER_IP}:${N8N_HOST_PORT}/
- N8N_SECURE_COOKIE=${N8N_SECURE_COOKIE}
networks:
- ollama-network
ports:
- "${N8N_HOST_PORT}:${N8N_CONTAINER_PORT}"Разберем критически важные параметры для работы сервиса n8n на VPS:
- image — используется официальный образ n8n версии 1.87.0
- depends_on — сервис запускается после успешного старта контейнеров ollama и redis, так как Ollama используется для запуска LLM, а Redis нужен для хранения контекста диалога с LLM
- environment — набор переменных окружения, которые настраивают работу n8n:
- N8N_HOST — имя хоста или IP-адрес, по которому доступен n8n;
- N8N_PROTOCOL — протокол подключения (http или https);
- N8N_PORT — порт, на котором работает n8n внутри контейнера;
- WEBHOOK_URL — URL для получения webhook-запросов;
- N8N_EDITOR_BASE_URL — базовый URL для доступа к редактору n8n;
- N8N_SECURE_COOKIE — использование защищенных cookies (true/false).
В нашем примере n8n настроен на работу в stage‑режиме, где n8n доступен по адресу http://ip_вашего_vps:N8N_HOST_PORT, а значения переменных указаны в файле .env. Для production‑режима требуется настройка NGINX, DNS, SSL и Certbot.
Запуск n8n
После скачивания или ручного создания compose-файла выполните команду docker compose up -d для загрузки образов и запуска контейнеров. Когда процесс завершится, а на это может потребоваться значительное время, выполните команду docker compose ps --format "table {{.Name}}\t{{.Ports}}\t{{.State}}" для проверки статуса контейнеров.
Статусы (STATE) у всех контейнеров должны быть running:
- Open WebUI — порт 8080
- n8n — порт 5678
- Netdata — порт 19999
Подставив один из портов в конец URL, который состоит из http://ip_вашего_vps: и порта, вы перейдете в нужный вам сервис.
Подготовка compose-файла и запуск n8n
Перейдите по адресу http://ip_вашего_vps:5678. При первом посещении откроется страница с регистрацией:
Вся введенная вами информация будет сохранена в локальной базе данных, поэтому можно не вводить настоящие персональные данные. Никаких уведомлений или проверок почты нет. Стоит только запомнить пароль.
При последующих посещениях будет открываться страница с авторизацией:
Последующие шаги при регистрации можно просто игнорировать нажатием кнопок Skip или Next. Поля форм опросников можно не заполнять.
Сопряжение n8n с Ollama
При первом запуске n8n откроется домашняя страница Overview, где будет предложено создать первый workflow из шаблона или проверить работу AI-агента. Нас же интересует создание сопряжения с Ollama. Для этого кликните по значку выпадающего списка справа от кнопки Create Workflow и выберите пункт Create Credentials:Далее нужно указать Base URL — адрес, по которому работает Ollama. Так как у нас стек запущен через Docker Compose и все сервисы находятся в одной сети ollama-network, мы можем обращаться к Ollama по имени контейнера и порту с указанием протокола подключения — http://ollama:11434:
При успешном тестовом соединении появится уведомление Connection tested successfully. Если тестовое соединение вернуло ошибку Couldn’t connect with these settings, можно указать IP-адрес VPS вместо имени сервиса ollama, например: http://154.59.111.71:11434.
В итоге в разделе Credentials появится запись следующего вида:
Создание и запуск тестового workflow
Для начала кратко объясним, что такое workflow. Workflow — это сценарий реализации логики работы автоматики n8n, где основными логическими и строительными блоками являются узлы или ноды следующих категорий.
Core Nodes — базовые узлы для манипуляции данными и управления потоком:
- Code, Function, Function Item — произвольная логика на JavaScript.
- Edit Fields (Set) — установка и изменение полей в данных
- If, Switch — ветвление логики по условиям
- Merge, Split In Batches, Item Lists — объединение и разбиение потоков данных
Trigger Nodes — узлы, запускающие workflow по событиям или расписанию:
- Manual Trigger — ручной запуск из редактора
- Schedule Trigger — запуск по расписанию (cron, интервалы)
- Webhook — запуск по входящему HTTP‑запросу
- On App Event — реакция на события сторонних сервисов
- On chat message — запуск при поступлении сообщения в чат‑интерфейсе n8n
Action / Integration Nodes — узлы для взаимодействия с внешними сервисами и API:
- HTTP Request — произвольные HTTP‑запросы к REST‑API
- Почтовые узлы: Email Send, IMAP Email, Gmail, Microsoft Outlook
- Базы данных: Postgres, MySQL, SQLite, MongoDB и другие
- Файловые операции: Read Binary File, Write Binary File, Move Binary Data
- Облака и хранилища: Google Drive, S3, Dropbox и т.д.
Helpers / Utility Nodes — вспомогательные узлы для преобразований и утилит:
- Date & Time — работа с датами и временем
- Text / Text Manipulator — операции с текстом и строками
- Aggregate, Sum, Average — простая агрегация данных
- Limit, NoOp, Wait — ограничение, заглушки и паузы в исполнении
AI и Advanced AI Nodes — специализированные узлы для работы с LLM и агентами:
- AI Agent — универсальный AI‑агент, который может использовать разные модели и инструменты
- Chat Model, Completion Model — прямой вызов LLM‑моделей
- Интеграции с провайдерами: OpenAI, Ollama Chat model, Anthropic, Azure OpenAI и др.
- Категория Advanced AI объединяет ноды для сложных сценариев: цепочки вызовов моделей, контекст, инструменты
Организационные / Flow Nodes — узлы для структурирования сложных workflow:
- Execute Workflow / Subworkflow — вызов другого workflow как под‑процесса
- Group / Sticky Note — визуальная группировка и комментарии на схеме
- Error Trigger, Error Workflow — обработка ошибок и аварийных сценариев
Для тестового workflow мы будем использовать всего несколько базовых нод из категорий Trigger Nodes и AI и Advanced AI Nodes, чтобы проверить связку n8n и Ollama в интерактивном режиме чата.
Создание тестового workflow
Перейдите в корневой раздел, нажмите на кнопку Create Workflow для создания первого тестового workflow и следуйте дальнейшим шагам.
Далее выполните следующие шаги:
1. В окне открывшегося редактора нажмите на дефолтную ноду пустого workflow Add first step:
2. Выберите из списка ноду On chat message:
3. Нода On chat message не требует настроек, окно свойств ноды можно просто закрыть нажатием на кнопку Esc:
4. Нажмите на кнопку в виде плюса справа от ноды, выберите Advanced AI категорию нод:
5. Выберите AI Agent ноду:
6. В опциях ноды AI Agent нажмите на кнопку Chat Model:
7. В открывшемся окне поиска введите Ollama и выберите пункт Ollama Chat model:
8. В окне настройки ноды кликните по полю Model (по умолчанию выбрана модель llama3.2) и из выпадающего списка доступных моделей Ollama выберите нужную вам модель для взаимодействия (список моделей автоматически подтягивается из сервиса ollama):
9. Нажмите клавишу Esc, чтобы выйти в основное окно редактирования workflow
Запуск тестового workflow
После настройки workflow осталось запустить его и убедиться, что связка n8n и Ollama работает корректно. Для этого выполните следующие шаги:
1. Находясь в основном окне редактора workflow, нажмите на кнопку Open Chat для открытия окна чата:
2. Введите в поле чата сообщение, которое будет отправлено в AI. Например, попросите AI посчитать 2+2. Если всё было настроено правильно, то задействованные в работе ноды будут отмечены зелеными галочками, а справа в окне чата будет выведен ответ AI:
Workflow отработал исправно, и мы видим, что AI ответил — это значит, что сопряжение n8n и Ollama прошло успешно, и теперь можно усложнять и расширять workflow. Конкретный кейс реализации автоматизации с помощью n8n и Telegram мы опишем в следующей статье, а пока сделаем выводы по текущей.
Кратко про установку n8n на VPS
n8n — это настоящий швейцарский нож в руках опытного специалиста, умение управляться с которым уже сейчас ценится настолько же высоко, как знание Docker, Kubernetes, Ansible и других инструментов автоматизации. Центральный элемент автоматизации n8n — это AI, который подключается двумя путями:
- Подключение удаленных AI по API, таких как Google Gemini, OpenAI ChatGPT, DeepSeek. Преимущество такого типа подключения — в скорости работы AI: вся нагрузка ложится на инфраструктуру провайдера AI. Минус в том, что все данные также будут передаваться на сторону провайдера AI. Такой тип подключения явно не подходит для работы с NDA‑информацией.
- Подключение локального AI, развернутого на сервере, например через Ollama. При таком способе подключения все данные остаются на стороне пользователя и не покидают пределов контура инфраструктуры. Минус в том, что вся нагрузка ложится на локальную инфраструктуру пользователя.
Для запуска n8n и AI локально потребуется VPS следующих конфигураций:
- Минимальная конфигурация VPS для запуска маломощных AI: CPU — 4 ядра; RAM — 8 GB; Disk — 100 GB; ОС — Ubuntu 24.
- Оптимальная конфигурация VPS для запуска средних и мощных AI: CPU — 8 ядер; RAM — 16 GB; Disk — 200 GB; ОС — Ubuntu 24.
Удобнее и проще всего развернуть локальный n8n с помощью Docker Compose. Готовый compose-файл можно скачать из нашего репозитория. Там же вы найдете compose-файлы для запуска Ollama, Open WebUI и Netdata как отдельно, так и в составе стека.
Для запуска compose-файла, скачивания образов и старта сервисов в контейнерах достаточно выполнить команду docker compose up -d. После развертывания сервисов проверить их статус можно командой docker compose ps. Все контейнеры должны иметь статус STATE — запущены.
Сервисы работают на следующих портах:
- Open WebUI — порт 8080
- n8n — порт 5678
- Netdata — порт 19999
Для работы с сервисами нужно перейти в браузер и в адресной строке ввести http://ip_вашего_сервера:порт_сервиса. Сервис Open WebUI предоставляет Web UI для Ollama, которая нужна для запуска и управления LLM локально. Сервис n8n позволяет создавать workflow автоматизации на основе AI, а сервис Netdata помогает следить за потребляемыми ресурсами.
Локально развернутые n8n и AI на VPS открывают новые возможности для автоматизации процессов, помогая экономить на подписках и сохраняя данные в безопасности. Попробуйте уже сегодня связку n8n и AI с VPS от oblako.kz: перейдите в раздел VPS/VDS и выберите рекомендованную в статье конфигурацию сервера.