Как установить n8n локально: Полное руководство
n8n — это мощный инструмент для автоматизации рабочих процессов с открытым исходным кодом. Его локальная установка предоставляет полный контроль над данными, максимальную гибкость в настройке и не зависит от облачных сервисов. Данное руководство детально описывает процесс установки n8n на различные операционные системы, его базовую настройку и администрирование.
Предварительные требования и системные характеристики
Перед началом установки убедитесь, что ваша система соответствует минимальным требованиям.
- Оперативная память (RAM): Минимум 2 ГБ (рекомендуется 4 ГБ и более для сложных workflow).
- Процессор: Современный 2-ядерный CPU.
- Свободное место на диске: Не менее 1 ГБ.
- Операционная система: Windows (10/11), macOS (последние версии), или дистрибутив Linux (Ubuntu 20.04+, Debian, CentOS).
- Установленный Node.js: Версия 18.x или 20.x. n8n не поддерживает Node.js версии 19.
- Менеджер пакетов npm: Обычно устанавливается вместе с Node.js.
- Git: Для клонирования репозитория (опционально, но рекомендуется).
- Посетите официальный сайт nodejs.org.
- Скачайте и установите LTS (Long Term Support) версию (18.x или 20.x). Установщик автоматически добавит в систему как Node.js, так и npm.
- Для проверки откройте терминал (Command Prompt или PowerShell) и выполните команды:
node --versionnpm --version
- Обновите индекс пакетов:
sudo apt update - Установите необходимые зависимости:
sudo apt install -y curl - Установи Node.js 18.x:
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -sudo apt install -y nodejs
- Проверьте установку:
node --version && npm --version - Откройте терминал (на Linux/macOS) или командную строку/PowerShell (на Windows).
- Установите n8n глобально, выполнив команду:
npm install n8n -g
Флаг
-gуказывает на глобальную установку, делая командуn8nдоступной из любого места в системе. - После завершения установки запустите n8n командой:
n8n start
- По умолчанию n8n запустится на
http://localhost:5678. Откройте этот адрес в браузере. - Вы увидите приглашение создать первую учетную запись владельца. Заполните email и пароль. Эти данные будут использоваться для входа в ваш локальный экземпляр.
- Установите Docker Desktop для Windows/macOS или Docker Engine для Linux.
- Запустите контейнер n8n с помощью следующей команды в терминале:
docker run -it --rm --name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n n8nio/n8n
-p 5678:5678— пробрасывает порт контейнера на порт вашей машины.-v ~/.n8n:/home/node/.n8n— монтирует том для сохранения данных (workflow, учетные данные) на хост-машину, чтобы они не потерялись при удалении контейнера.n8nio/n8n— официальный образ с Docker Hub.- Клонируйте репозиторий n8n с GitHub:
git clone https://github.com/n8n-io/n8n.git
- Перейдите в директорию проекта:
cd n8n
- Установите зависимости проекта:
npm install
- Соберите проект:
npm run build
- Запустите n8n в режиме разработки:
npm run start:dev
Или в production-режиме:
npm run start
- N8N_BASIC_AUTH_ACTIVE и N8N_BASIC_AUTH_USER, N8N_BASIC_AUTH_PASSWORD: Включают HTTP Basic Auth для дополнительной защиты интерфейса.
- N8N_ENCRYPTION_KEY: Ключ для шифрования учетных данных. Должен быть длиной 24 символа и оставаться неизменным. Задается при первом запуске, например:
export N8N_ENCRYPTION_KEY=my_secret_key_24_chars_long. - N8N_PROTOCOL, N8N_HOST, N8N_PORT: Изменяют протокол, хост и порт веб-интерфейса.
- N8N_METRICS: Включает сбор метрик (
true/false). - DB_TYPE, DB_POSTGRESDB_DATABASE, DB_POSTGRESDB_HOST, DB_POSTGRESDB_PORT, DB_POSTGRESDB_USER, DB_POSTGRESDB_PASSWORD: Позволяют подключить внешнюю базу данных PostgreSQL вместо встроенного SQLite.
Установка Node.js и npm
Правильная установка Node.js является критически важным первым шагом.
Для Windows и macOS:
Для Linux (Ubuntu/Debian):
Используйте менеджер пакетов для установки корректной версии.
Способ 1: Установка n8n с помощью npm (рекомендуемый)
Это самый простой и официально поддерживаемый метод для быстрого старта.
Способ 2: Запуск n8n через Docker
Docker обеспечивает изолированную среду, упрощает управление зависимостями и обновлениями.
Разбор команды:
Для запуска в фоновом режиме замените флаг -it на -d. Более продвинутые конфигурации с использованием docker-compose.yml позволяют легко подключать базы данных и настраивать переменные окружения.
Способ 3: Установка из исходного кода (для разработки)
Этот метод подходит для тех, кто планирует вносить изменения в код n8n или разрабатывать собственные узлы (nodes).
Базовая конфигурация n8n
После первого запуска n8n можно и нужно настроить. Основные параметры задаются через переменные окружения или файл конфигурации ~/.n8n/config.
Ключевые переменные окружения:
Пример запуска n8n с базовой аутентификацией и кастомным портом (Linux/macOS):
export N8N_BASIC_AUTH_ACTIVE=true
export N8N_BASIC_AUTH_USER=admin
export N8N_BASIC_AUTH_PASSWORD=secure_password
export N8N_PORT=8080
n8n start
Настройка внешней базы данных (PostgreSQL)
Для production-использования крайне рекомендуется заменить встроенный SQLite на PostgreSQL для повышения надежности и производительности.
- Установите и запустите PostgreSQL (версия 12+).
- Создайте базу данных и пользователя для n8n:
CREATE DATABASE n8n;CREATE USER n8n_user WITH PASSWORD 'your_strong_password';GRANT ALL PRIVILEGES ON DATABASE n8n TO n8n_user;
- Запустите n8n с переменными окружения, указывающими на PostgreSQL:
export DB_TYPE=postgresdb export DB_POSTGRESDB_HOST=localhost export DB_POSTGRESDB_PORT=5432 export DB_POSTGRESDB_DATABASE=n8n export DB_POSTGRESDB_USER=n8n_user export DB_POSTGRESDB_PASSWORD=your_strong_password export N8N_ENCRYPTION_KEY=your_24_char_encryption_key_here n8n start
Управление и администрирование локального n8n
Запуск в фоновом режиме (как служба):
Для обеспечения постоянной работы n8n необходимо настроить его как службу.
Для Linux (systemd):
- Создайте файл службы:
sudo nano /etc/systemd/system/n8n.service - Добавьте следующую конфигурацию (скорректируйте пути и пользователя):
[Unit] Description=n8n workflow automation server After=network.target [Service] Type=simple User=your_username Environment="N8N_ENCRYPTION_KEY=your_key" Environment="DB_TYPE=postgresdb"... другие переменные
ExecStart=/usr/bin/n8n start Restart=on-failure [Install] WantedBy=multi-user.target - Включите и запустите службу:
sudo systemctl daemon-reloadsudo systemctl enable n8nsudo systemctl start n8n- Проверьте статус:
sudo systemctl status n8n
Для Windows (служба NSSM):
- Скачайте NSSM (Non-Sucking Service Manager).
- В командной строке с правами администратора выполните:
nssm install n8n
- В открывшемся GUI укажите путь к Node.js (
C:Program Filesnodejsnode.exe) и аргументы (C:UsersYourUserAppDataRoamingnpmnode_modulesn8nbinn8nstart). - На вкладке «Details» установите имя службы «n8n».
- Нажмите «Install service». Управляйте службой через
services.msc.
Обновление локальной установки n8n
Для получения новых функций и исправлений безопасности важно регулярно обновлять n8n.
- При установке через npm: Выполните команду
npm update -g n8n. - При установке через Docker: Остановите текущий контейнер, удалите его образ и запустите команду
docker runзаново. Docker автоматически скачает последний образ.docker stop n8n docker rm n8n docker pull n8nio/n8nЗапустите команду docker run с вашими параметрами снова
- При установке из исходного кода: Выполните
git pullв директории проекта, затемnpm installиnpm run build.
Перед любым обновлением создайте резервную копию директории ~/.n8n (или базы данных PostgreSQL).
Ответы на часто задаваемые вопросы (FAQ)
Вопрос: Где хранятся мои workflow и настройки при локальной установке?
Ответ: По умолчанию все данные (workflow, учетные данные, конфигурация) хранятся в директории пользователя:
- Linux/macOS:
~/.n8n - Windows:
C:Users[ВашеИмяПользователя].n8n
При использовании Docker эта директория монтируется как том (-v ~/.n8n:/home/node/.n8n). При подключении PostgreSQL данные хранятся непосредственно в ней.
Вопрос: Как перенести данные с облачной версии n8n на локальную?
Ответ: В облачном интерфейсе n8n:
- Перейдите в раздел «Workflows».
- Выберите workflow, которые нужно экспортировать.
- Нажмите кнопку «Export» и выберите формат «n8n».
- В локальном n8n создайте новый workflow и используйте кнопку «Import from file» на холсте.
Учетные данные (credentials) необходимо настроить заново в локальном экземпляре по соображениям безопасности.
Вопрос: Почему n8n не запускается, и в логах ошибка «Port already in use»?
Ответ: Это означает, что порт 5678 занят другим приложением. Вы можете:
- Найти и остановить процесс, использующий порт 5678 (например, с помощью
lsof -i :5678на Linux/macOS илиnetstat -ano | findstr :5678на Windows). - Запустить n8n на другом порту, задав переменную окружения перед запуском:
export N8N_PORT=5679(Linux/macOS) илиset N8N_PORT=5679(Windows), а затемn8n start.
Вопрос: Как обеспечить безопасность локального n8n, если мне нужен доступ из интернета?
Ответ: Никогда не пробрасывайте порт n8n напрямую в интернет без защиты. Используйте:
- Обратный прокси (рекомендуется): Настройте Nginx или Apache как обратный прокси перед n8n с обязательным HTTPS (SSL/TLS сертификат от Let’s Encrypt) и HTTP Basic Auth или аутентификацией на уровне прокси.
- VPN: Подключитесь к локальной сети, где работает n8n, через VPN (например, WireGuard, Tailscale).
- SSH-туннель: Для временного доступа используйте команду
ssh -L 5678:localhost:5678 user@your_server.
Также активируйте базовую аутентификацию в самом n8n через переменные N8N_BASIC_AUTH_*.
Вопрос: Можно ли использовать другую базу данных вместо PostgreSQL?
Ответ: Официально n8n поддерживает SQLite (по умолчанию, только для тестирования), PostgreSQL (рекомендуется для production) и MySQL/MariaDB (поддержка находится на стадии бета-тестирования). Для использования MySQL задайте переменные окружения DB_TYPE=mysqldb и соответствующие параметры подключения (DB_MYSQLDB_*).
Вопрос: Как добавить кастомные узлы (custom nodes) в локальную установку?
Ответ:
- Склонируйте или создайте репозиторий кастомного узла согласно документации n8n.
- Установите зависимости узла:
npm installв его директории. - Соберите узел:
npm run build. - Создайте символическую ссылку или скопируйте папку узла в директорию
~/.n8n/custom. Если директории нет — создайте ее. - Перезапустите n8n. Кастомные узлы появятся в палитре узлов.
Заключение
Локальная установка n8n предоставляет полный контроль над платформой автоматизации, что критически важно для работы с конфиденциальными данными и создания сложных интеграций. Выбор метода установки (npm, Docker, исходный код) зависит от ваших целей: npm подходит для быстрого старта, Docker — для изолированного и воспроизводимого развертывания, а установка из исходников — для разработки. Обязательные шаги для production-среды включают настройку внешней базы данных PostgreSQL, организацию запуска в виде службы, настройку шифрования и обеспечение безопасного доступа через обратный прокси. Регулярное обновление и резервное копирование данных гарантируют стабильную и надежную работу ваших рабочих процессов.
Комментарии