Как установить 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: Для клонирования репозитория (опционально, но рекомендуется).

    Установка Node.js и npm

    Правильная установка Node.js является критически важным первым шагом.

    Для Windows и macOS:

    • Посетите официальный сайт nodejs.org.
    • Скачайте и установите LTS (Long Term Support) версию (18.x или 20.x). Установщик автоматически добавит в систему как Node.js, так и npm.
    • Для проверки откройте терминал (Command Prompt или PowerShell) и выполните команды:
      • node --version
      • npm --version

    Для Linux (Ubuntu/Debian):

    Используйте менеджер пакетов для установки корректной версии.

    • Обновите индекс пакетов: 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

    Способ 1: Установка n8n с помощью npm (рекомендуемый)

    Это самый простой и официально поддерживаемый метод для быстрого старта.

    1. Откройте терминал (на Linux/macOS) или командную строку/PowerShell (на Windows).
    2. Установите n8n глобально, выполнив команду:
      • npm install n8n -g

      Флаг -g указывает на глобальную установку, делая команду n8n доступной из любого места в системе.

    3. После завершения установки запустите n8n командой:
      • n8n start
    4. По умолчанию n8n запустится на http://localhost:5678. Откройте этот адрес в браузере.
    5. Вы увидите приглашение создать первую учетную запись владельца. Заполните email и пароль. Эти данные будут использоваться для входа в ваш локальный экземпляр.

    Способ 2: Запуск n8n через Docker

    Docker обеспечивает изолированную среду, упрощает управление зависимостями и обновлениями.

    1. Установите Docker Desktop для Windows/macOS или Docker Engine для Linux.
    2. Запустите контейнер 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.

    Для запуска в фоновом режиме замените флаг -it на -d. Более продвинутые конфигурации с использованием docker-compose.yml позволяют легко подключать базы данных и настраивать переменные окружения.

    Способ 3: Установка из исходного кода (для разработки)

    Этот метод подходит для тех, кто планирует вносить изменения в код n8n или разрабатывать собственные узлы (nodes).

    1. Клонируйте репозиторий n8n с GitHub:
      • git clone https://github.com/n8n-io/n8n.git
    2. Перейдите в директорию проекта:
      • cd n8n
    3. Установите зависимости проекта:
      • npm install
    4. Соберите проект:
      • npm run build
    5. Запустите n8n в режиме разработки:
      • npm run start:dev

      Или в production-режиме:

      • npm run start

    Базовая конфигурация n8n

    После первого запуска n8n можно и нужно настроить. Основные параметры задаются через переменные окружения или файл конфигурации ~/.n8n/config.

    Ключевые переменные окружения:

    • 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.

    Пример запуска 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 для повышения надежности и производительности.

    1. Установите и запустите PostgreSQL (версия 12+).
    2. Создайте базу данных и пользователя для n8n:
      • CREATE DATABASE n8n;
      • CREATE USER n8n_user WITH PASSWORD 'your_strong_password';
      • GRANT ALL PRIVILEGES ON DATABASE n8n TO n8n_user;
    3. Запустите 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):
    1. Создайте файл службы: sudo nano /etc/systemd/system/n8n.service
    2. Добавьте следующую конфигурацию (скорректируйте пути и пользователя):
      [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
    3. Включите и запустите службу:
      • sudo systemctl daemon-reload
      • sudo systemctl enable n8n
      • sudo systemctl start n8n
      • Проверьте статус: sudo systemctl status n8n
    Для Windows (служба NSSM):
    1. Скачайте NSSM (Non-Sucking Service Manager).
    2. В командной строке с правами администратора выполните:
      • nssm install n8n
    3. В открывшемся GUI укажите путь к Node.js (C:Program Filesnodejsnode.exe) и аргументы (C:UsersYourUserAppDataRoamingnpmnode_modulesn8nbinn8n start).
    4. На вкладке «Details» установите имя службы «n8n».
    5. Нажмите «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:

    1. Перейдите в раздел «Workflows».
    2. Выберите workflow, которые нужно экспортировать.
    3. Нажмите кнопку «Export» и выберите формат «n8n».
    4. В локальном 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) в локальную установку?

    Ответ:

    1. Склонируйте или создайте репозиторий кастомного узла согласно документации n8n.
    2. Установите зависимости узла: npm install в его директории.
    3. Соберите узел: npm run build.
    4. Создайте символическую ссылку или скопируйте папку узла в директорию ~/.n8n/custom. Если директории нет — создайте ее.
    5. Перезапустите n8n. Кастомные узлы появятся в палитре узлов.

Заключение

Локальная установка n8n предоставляет полный контроль над платформой автоматизации, что критически важно для работы с конфиденциальными данными и создания сложных интеграций. Выбор метода установки (npm, Docker, исходный код) зависит от ваших целей: npm подходит для быстрого старта, Docker — для изолированного и воспроизводимого развертывания, а установка из исходников — для разработки. Обязательные шаги для production-среды включают настройку внешней базы данных PostgreSQL, организацию запуска в виде службы, настройку шифрования и обеспечение безопасного доступа через обратный прокси. Регулярное обновление и резервное копирование данных гарантируют стабильную и надежную работу ваших рабочих процессов.

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Войти

Зарегистрироваться

Сбросить пароль

Пожалуйста, введите ваше имя пользователя или эл. адрес, вы получите письмо со ссылкой для сброса пароля.