N8n: Полное руководство по локальной установке
N8n — это инструмент с открытым исходным кодом для оркестрации рабочих процессов (workflow automation), который позволяет соединять различные приложения, API и сервисы между собой без необходимости писать код. Локальная установка n8n предоставляет полный контроль над данными, повышенную безопасность и неограниченное количество исполнений рабочих процессов, в отличие от облачной версии. Данное руководство детально описывает процесс установки n8n на локальную машину различными методами.
Предварительные требования и системные характеристики
Перед началом установки убедитесь, что ваша система соответствует минимальным требованиям. N8n является Node.js приложением, поэтому основным требованием является наличие Node.js и npm.
- Операционная система: Windows (10, 11), macOS (10.14 и новее), или Linux-дистрибутив (Ubuntu 18.04+, Debian 10+, CentOS 8+).
- Node.js: Версия 18.x или 20.x. Версии 19.x и 21.x не поддерживаются. Рекомендуется использовать LTS-релизы.
- npm: Обычно устанавливается вместе с Node.js. Рекомендуется версия 7.x или выше.
- Процессор: Современный 2-ядерный процессор или лучше.
- Оперативная память (RAM): Минимум 2 ГБ, рекомендуется 4 ГБ и более для сложных рабочих процессов.
- Свободное место на диске: Не менее 2 ГБ для установки и хранения данных.
- Доступ в интернет: Требуется для первоначальной загрузки пакетов и работы с внешними API и сервисами.
- Доступ к терминалу (командной строке) с правами администратора/root.
- node —version
- npm —version
- npm install n8n -g
- n8n start
- docker run -it —rm —name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n n8nio/n8n
-p 5678:5678: Пробрасывает порт 5678 контейнера на порт 5678 хостовой машины.-v ~/.n8n:/home/node/.n8n: Создает постоянный том (volume) для сохранения данных n8n (workflows, учетные данные) вне контейнера. Для Windows путь будет выглядеть как-v C:UsersYourUser.n8n:/home/node/.n8n.--rm: Автоматически удаляет контейнер после остановки (опционально, для постоянного использования лучше создать именованный volume).- docker run -d —name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n n8nio/n8n
- git clone https://github.com/n8n-io/n8n.git
- cd n8n
- npm install
- npm run build
- npm run start
- npm run dev
- docker run -d —name n8n -p 5678:5678 -e N8N_ENCRYPTION_KEY=»your_key» -e GENERIC_TIMEZONE=»Europe/Moscow» -v n8n_data:/home/node/.n8n n8nio/n8n
Способ 1: Установка с помощью npm (менеджер пакетов Node.js)
Это стандартный и рекомендуемый способ для разработчиков и пользователей, знакомых с экосистемой Node.js.
Шаг 1: Установка Node.js и npm
Если Node.js не установлен, загрузите установщик с официального сайта nodejs.org. Выберите версию «LTS» (Long Term Support). Запустите установщик и следуйте инструкциям. После установки откройте терминал (Command Prompt на Windows, Terminal на macOS/Linux) и проверьте версии:
Шаг 2: Глобальная установка n8n
Для установки n8n в качестве глобального пакета, выполните следующую команду. Это позволит запускать n8n из любого места в системе.
Флаг -g указывает на глобальную установку. Процесс может занять несколько минут.
Шаг 3: Запуск n8n
После успешной установки запустите n8n простой командой:
При первом запуске будут загружены дополнительные пакеты. После завершения инициализации в терминале появится сообщение, что n8n запущен. Веб-интерфейс будет доступен по адресу: http://localhost:5678.
Способ 2: Установка с помощью Docker
Docker — это предпочтительный способ для изолированной и воспроизводимой установки, особенно на серверах или в контейнерных средах.
Шаг 1: Установка Docker
Загрузите и установите Docker Desktop для Windows или macOS. Для Linux следуйте официальной инструкции для вашего дистрибутива (например, для Ubuntu: sudo apt-get install docker.io). После установки убедитесь, что демон Docker запущен.
Шаг 2: Запуск контейнера n8n
Выполните следующую команду в терминале. Она скачает официальный образ n8n и запустит контейнер.
Разбор команды:
Шаг 3: Запуск в фоновом режиме (демон)
Для долгосрочной работы запустите контейнер в фоновом режиме:
Здесь -d означает детачмент (фоновый режим), а n8n_data — это имя Docker volume для более удобного управления данными.
Способ 3: Установка из исходного кода (Git)
Этот способ подходит для разработчиков, желающих внести изменения в код n8n или использовать самую последнюю, возможно, нестабильную версию.
Шаг 1: Клонирование репозитория
Шаг 2: Установка зависимостей
Этот процесс установит все необходимые пакеты и может занять значительное время.
Шаг 3: Сборка и запуск
Или для запуска в режиме разработки с «горячей» перезагрузкой:
Базовая настройка после установки
Первоначальный доступ
Откройте браузер и перейдите по адресу http://localhost:5678. Вам будет предложено создать первую учетную запись пользователя. Этот пользователь станет администратором экземпляра.
Конфигурация через переменные окружения
Поведение n8n широко настраивается с помощью переменных окружения. Их можно задать в системе, в Docker-команде или в файле .env в корневой директории n8n.
| Переменная | Описание | Пример значения |
|---|---|---|
| N8N_PROTOCOL | Протокол для веб-интерфейса. | https |
| N8N_HOST | Хост, на котором работает n8n. | myautomation.com |
| N8N_PORT | Порт для веб-интерфейса. | 5678 |
| N8N_ENCRYPTION_KEY | Ключ для шифрования учетных данных. Крайне важно задать свой! | my-secret-key-123 |
| N8N_METRICS | Включение сбора метрик. | true |
| GENERIC_TIMEZONE | Часовой пояс по умолчанию. | Europe/Moscow |
| N8N_USER_MANAGEMENT_DISABLED | Отключение управления пользователями (для одного пользователя). | true |
Пример запуска Docker с кастомными переменными:
Настройка базы данных (опционально, но рекомендуется)
По умолчанию n8n использует встроенную базу данных SQLite, которая подходит для тестирования и легких нагрузок. Для производственного использования рекомендуется перейти на PostgreSQL, MySQL, или MariaDB.
Пример настройки для PostgreSQL с Docker Compose
Создайте файл docker-compose.yml:
version: '3.8'
services:
n8n:
image: n8nio/n8n
container_name: n8n
restart: unless-stopped
ports:
- "5678:5678"
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_USER=n8n_user
- DB_POSTGRESDB_PASSWORD=secure_password
- N8N_ENCRYPTION_KEY=your_encryption_key_here
volumes:
- n8n_data:/home/node/.n8n
depends_on:
- postgres
postgres:
image: postgres:13-alpine
container_name: postgres_for_n8n
restart: unless-stopped
environment:
- POSTGRES_USER=n8n_user
- POSTGRES_PASSWORD=secure_password
- POSTGRES_DB=n8n
volumes:
- postgres_data:/var/lib/postgresql/data
volumes:
n8n_data:
postgres_data:
Запустите стек командой: docker-compose up -d.
Обновление локальной установки n8n
Для установки через npm:
- npm update n8n -g
Для установки через Docker:
- docker pull n8nio/n8n
- docker stop n8n
- docker rm n8n
- Запустите контейнер заново с теми же параметрами volumes и портов.
Безопасность и резервное копирование
При локальной установке вся ответственность за безопасность лежит на вас.
- Шифрование: Всегда задавайте уникальный и сложный
N8N_ENCRYPTION_KEY. - Доступ в интернет: Используйте обратный прокси (например, nginx) для настройки HTTPS с SSL-сертификатом (от Let’s Encrypt).
- Аутентификация: Не отключайте управление пользователями без необходимости. Используйте сложные пароли.
- Резервное копирование: Регулярно создавайте резервные копии директории
~/.n8n(для npm) или Docker volume. В интерфейсе n8n есть встроенная функция экспорта workflows. - Брандмауэр: Ограничьте доступ к порту 5678 только доверенным IP-адресам, если n8n доступен извне.
Ответы на часто задаваемые вопросы (FAQ)
Вопрос: Какой способ установки лучше выбрать?
Ответ: Выбор зависит от ваших целей и опыта.
Для быстрого ознакомления и тестирования подходит установка через npm.
Для стабильной работы, особенно на сервере, и простоты обновления рекомендуется Docker.
Для разработки или кастомизации кода — установка из исходного кода.
Вопрос: Почему n8n не запускается после установки через npm? Пишет ошибку о порте.
Ответ: Скорее всего, порт 5678 уже занят другим приложением. Вы можете:
1. Найти и остановить процесс, использующий порт 5678.
2. Запустить n8n на другом порту, используя переменную окружения: N8N_PORT=5679 n8n start или флаг --port=5679.
Вопрос: Где хранятся мои workflows и настройки при локальной установке?
Ответ: По умолчанию, данные хранятся в директории пользователя:
— Linux/macOS: ~/.n8n
— Windows: C:Users[ВашеИмяПользователя].n8n
В этой папке находятся база данных SQLite (database.sqlite), файлы конфигурации и загруженные файлы.
Вопрос: Как перенести данные n8n на другой сервер?
Ответ: Для переноса необходимо:
1. Остановить n8n на исходном сервере.
2. Скопировать всю директорию .n8n (или соответствующий Docker volume) на новый сервер.
3. Убедиться, что на новом сервере установлена та же версия n8n.
4. Запустить n8n на новом сервере, указав путь к скопированной директории (или подключив volume). При использовании внешней БД (PostgreSQL) нужно сделать дамп базы данных и восстановить его на новом сервере.
Вопрос: Можно ли запустить n8n как службу (service) в Linux?
Ответ: Да. Для системы инициализации systemd вы можете создать файл службы /etc/systemd/system/n8n.service.
[Unit]
Description=n8n workflow automation server
After=network.target
[Service]
Type=simple
User=your_username
ExecStart=/usr/bin/n8n start
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
После создания файла выполните:
sudo systemctl daemon-reload,
sudo systemctl enable n8n,
sudo systemctl start n8n.
Вопрос: В чем разница между локальной и облачной (n8n.cloud) версией?
Ответ: Ключевые различия представлены в таблице:
| Критерий | Локальная установка (Self-Hosted) | Облачная версия (n8n.cloud) |
|---|---|---|
| Контроль данных | Полный. Все данные остаются на ваших серверах. | Данные хранятся на инфраструктуре n8n. |
| Стоимость | Бесплатно (оплата только за вашу инфраструктуру). | Платная подписка, зависит от количества рабочих процессов и запусков. |
| Масштабирование | Вы управляете масштабированием самостоятельно. | Автоматическое масштабирование силами платформы. |
| Обслуживание | Вы отвечаете за обновления, безопасность, бэкапы. | Полностью управляемый сервис. |
| Ограничения | Нет ограничений на количество workflow и их исполнений. | Ограничения по тарифному плану. |
Заключение
Локальная установка n8n предоставляет мощный, гибкий и полностью контролируемый инструмент для автоматизации рабочих процессов. Независимо от выбранного метода — npm, Docker или установка из исходного кода — процесс хорошо документирован и может быть выполнен пользователями с различным уровнем технической подготовки. Для успешной эксплуатации в производственной среде критически важно уделить внимание настройке внешней базы данных, обеспечению безопасности (HTTPS, брандмауэр) и регулярному резервному копированию данных. N8n в локальном развертывании является корпоративным решением, которое может интегрировать практически любые системы и сервисы, оставаясь при этом в пределах вашей инфраструктуры.
Комментарии