Как развернуть n8n локально: Полное руководство
Развертывание n8n локально предоставляет полный контроль над данными, максимальную производительность и гибкость в настройке. Этот процесс включает в себя выбор метода установки, настройку среды, конфигурацию и первоначальный запуск платформы для автоматизации рабочих процессов. Ниже представлено детальное пошаговое руководство.
Выбор метода установки и подготовка
Перед началом установки необходимо выбрать метод, соответствующий вашей операционной системе и уровню экспертизы. Основные методы: установка с помощью npm (Node Package Manager), использование Docker, и запуск из исходного кода. Каждый метод имеет свои преимущества и требования.
Системные требования:
- Операционная система: Windows (10+), macOS, или дистрибутив Linux (Ubuntu, Debian, CentOS).
- Node.js версии 18 или выше. Рекомендуется LTS-версия.
- npm (обычно устанавливается вместе с Node.js) или Docker Desktop.
- Минимум 2 ГБ оперативной памяти, 4 ГБ для комфортной работы.
- Не менее 2 ГБ свободного места на диске.
node --versionnpm --versionnpm install n8n -gn8n startdocker run -it --rm --name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n n8nio/n8n-p 5678:5678: Пробрасывает порт 5678 из контейнера на хост.-v ~/.n8n:/home/node/.n8n: Создает постоянный том для сохранения данных (воркфлов, учетных данных) на вашей машине.--name n8n: Присваивает контейнеру имя.- N8N_BASIC_AUTH_ACTIVE: Включение HTTP базовой аутентификации (рекомендуется).
- N8N_BASIC_AUTH_USER и N8N_BASIC_AUTH_PASSWORD: Логин и пароль для доступа к интерфейсу.
- N8N_ENCRYPTION_KEY: Ключ для шифрования учетных данных. Должен быть строкой длиной 32 символа. Обязательно задайте свой уникальный ключ.
- N8N_PROTOCOL, N8N_HOST, N8N_PORT: Настройки хоста и порта.
- N8N_METRICS: Включение сбора метрик.
- WEBHOOK_URL: Публичный URL, если n8n должен принимать входящие вебхуки извне (например, при использовании ngrok).
docker run -d --name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n -e N8N_BASIC_AUTH_ACTIVE=true -e N8N_BASIC_AUTH_USER=admin -e N8N_BASIC_AUTH_PASSWORD=password -e N8N_ENCRYPTION_KEY=your_super_secure_32_char_key_here n8nio/n8ndocker run -d --name n8n-postgres -e POSTGRES_USER=n8n -e POSTGRES_PASSWORD=your_db_password -e POSTGRES_DB=n8n -p 5432:5432 postgres:13docker run -d --name n8n --link n8n-postgres:postgres -p 5678:5678 -v ~/.n8n:/home/node/.n8n -e DB_TYPE=postgresdb -e DB_POSTGRESDB_HOST=postgres -e DB_POSTGRESDB_PORT=5432 -e DB_POSTGRESDB_DATABASE=n8n -e DB_POSTGRESDB_USER=n8n -e DB_POSTGRESDB_PASSWORD=your_db_password -e N8N_ENCRYPTION_KEY=your_key n8nio/n8n
Метод 1: Установка n8n с помощью npm
Этот метод является прямым и рекомендуется для большинства пользователей.
Шаг 1: Установка Node.js и npm
Скачайте и установите Node.js с официального сайта (nodejs.org). Установщик включает в себя npm. После установки откройте терминал (командную строку) и выполните команды для проверки:
Шаг 2: Установка n8n глобально
В терминале выполните следующую команду. Установка глобально позволяет запускать n8n из любого места в системе.
Процесс загрузки и установки может занять несколько минут.
Шаг 3: Запуск n8n
После успешной установки запустите n8n простой командой:
По умолчанию n8n будет доступен по адресу: http://localhost:5678. При первом запуске в терминале будет выдан пароль для входа, который необходимо сохранить.
Метод 2: Установка n8n с помощью Docker
Использование Docker обеспечивает изолированную среду и упрощает управление зависимостями.
Шаг 1: Установка Docker
Установите Docker Desktop для Windows/macOS или Docker Engine для Linux, следуя официальной документации.
Шаг 2: Запуск контейнера n8n
Выполните следующую команду в терминале или командной строке. Эта команда скачает официальный образ n8n и запустит контейнер.
Разбор команды:
Для запуска в фоновом режиме замените флаг -it на -d.
Базовая конфигурация n8n
После первого запуска необходимо выполнить базовую настройку. Конфигурация осуществляется через переменные окружения или файл ~/.n8n/config.
Ключевые настройки:
Пример запуска n8n с Docker с базовой конфигурацией:
Настройка базы данных (опционально, но рекомендуется)
По умолчанию n8n использует SQLite для хранения данных. Для повышения надежности и производительности в production-среде рекомендуется перейти на PostgreSQL, MySQL, или MariaDB.
Настройка для PostgreSQL с Docker:
1. Запустите контейнер с PostgreSQL:
2. Запустите n8n, указав параметры подключения к БД:
Управление запуском и автозагрузкой
Для постоянной работы n8n в фоне необходимо настроить автозапуск.
Для Linux (systemd):
Создайте файл службы /etc/systemd/system/n8n.service со следующим содержимым:
[Unit] Description=n8n automation server After=network.target [Service] Type=simple User=your_username ExecStart=/usr/bin/n8n start Restart=on-failure [Install] WantedBy=multi-user.target
Затем выполните:
sudo systemctl daemon-reloadsudo systemctl enable n8nsudo systemctl start n8n
Обновление локальной версии n8n
Для обновления n8n до последней версии выполните следующие команды в зависимости от метода установки.
| Метод | Команда обновления |
|---|---|
| npm (глобальный) | npm update n8n -g |
| Docker |
docker pull n8nio/n8ndocker stop n8ndocker rm n8nЗапустите контейнер заново с теми же параметрами томов и переменными. |
Резервное копирование и восстановление данных
Основные данные n8n (воркфлы, учетные данные, настройки) хранятся в базе данных или в директории ~/.n8n. Для резервного копирования:
- При использовании SQLite: Скопируйте файл
~/.n8n/database.sqlite. - При использовании внешней БД: Используйте стандартные утилиты дампа (pg_dump, mysqldump).
- Экспорт воркфлов: Каждый workflow можно экспортировать в JSON-файл через интерфейс n8n.
Ответы на часто задаваемые вопросы (FAQ)
Как сбросить пароль при локальной установке?
Пароль хранится в базе данных. Для сброса можно удалить файл базы данных SQLite (~/.n8n/database.sqlite) и перезапустить n8n, после чего будет сгенерирован новый пароль. Для внешних БД необходимо найти и обновить запись в таблице user.
Как открыть доступ к локальному n8n из интернета для приема вебхуков?
Используйте туннелирующие сервисы, такие как ngrok или localtunnel. Например, с ngrok: установите его, запустите n8n на порту 5678, а затем выполните команду ngrok http 5678. Полученный публичный URL (например, https://abc123.ngrok.io) укажите в переменной окружения WEBHOOK_URL при запуске n8n.
Почему n8n не запускается или выдает ошибку порта?
Порт 5678 может быть занят другой программой. Ошибка «EADDRINUSE». Измените порт с помощью переменной окружения N8N_PORT=5679 или флага --port=5679 в команде запуска.
Как повысить безопасность локальной установки?
- Всегда включайте базовую аутентификацию (
N8N_BASIC_AUTH_ACTIVE=true). - Задайте надежный уникальный ключ шифрования (
N8N_ENCRYPTION_KEY). - Не используйте n8n с доступом в интернет без обратного прокси (например, Nginx) с HTTPS.
- Регулярно обновляйте n8n до последней версии.
Где хранятся мои workflow и настройки?
При установке через npm или Docker с томом, по умолчанию данные сохраняются в директории пользователя: ~/.n8n/ (или %APPDATA%n8n на Windows). Внутри находятся файлы базы данных SQLite и другие конфигурационные файлы.
Можно ли использовать n8n как службу Windows?
Да. Можно использовать менеджер процессов PM2 для Node.js или создать службу Windows с помощью nssm.exe (Non-Sucking Service Manager), указав путь к node.js и n8n в качестве аргументов.
Как решить проблему с нехваткой памяти при запуске в Docker?
Docker по умолчанию может ограничивать ресурсы. Увеличьте лимит памяти в настройках Docker Desktop (Preferences -> Resources). Для Linux можно отредактировать параметры запуска демона Docker.
Комментарии