Как развернуть 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 ГБ свободного места на диске.

    Метод 1: Установка n8n с помощью npm

    Этот метод является прямым и рекомендуется для большинства пользователей.

    Шаг 1: Установка Node.js и npm

    Скачайте и установите Node.js с официального сайта (nodejs.org). Установщик включает в себя npm. После установки откройте терминал (командную строку) и выполните команды для проверки:

    • node --version
    • npm --version

    Шаг 2: Установка n8n глобально

    В терминале выполните следующую команду. Установка глобально позволяет запускать n8n из любого места в системе.

    • npm install n8n -g

    Процесс загрузки и установки может занять несколько минут.

    Шаг 3: Запуск n8n

    После успешной установки запустите n8n простой командой:

    • n8n start

    По умолчанию n8n будет доступен по адресу: http://localhost:5678. При первом запуске в терминале будет выдан пароль для входа, который необходимо сохранить.

    Метод 2: Установка n8n с помощью Docker

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

    Шаг 1: Установка Docker

    Установите Docker Desktop для Windows/macOS или Docker Engine для Linux, следуя официальной документации.

    Шаг 2: Запуск контейнера n8n

    Выполните следующую команду в терминале или командной строке. Эта команда скачает официальный образ n8n и запустит контейнер.

    • docker 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: Присваивает контейнеру имя.

    Для запуска в фоновом режиме замените флаг -it на -d.

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

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

    Ключевые настройки:

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

    Пример запуска n8n с Docker с базовой конфигурацией:

    • 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/n8n

    Настройка базы данных (опционально, но рекомендуется)

    По умолчанию n8n использует SQLite для хранения данных. Для повышения надежности и производительности в production-среде рекомендуется перейти на PostgreSQL, MySQL, или MariaDB.

    Настройка для PostgreSQL с Docker:

    1. Запустите контейнер с PostgreSQL:

    • docker run -d --name n8n-postgres -e POSTGRES_USER=n8n -e POSTGRES_PASSWORD=your_db_password -e POSTGRES_DB=n8n -p 5432:5432 postgres:13

    2. Запустите n8n, указав параметры подключения к БД:

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

    Управление запуском и автозагрузкой

    Для постоянной работы 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-reload
    • sudo systemctl enable n8n
    • sudo systemctl start n8n

    Обновление локальной версии n8n

    Для обновления n8n до последней версии выполните следующие команды в зависимости от метода установки.

    Метод Команда обновления
    npm (глобальный) npm update n8n -g
    Docker docker pull n8nio/n8n
    docker stop n8n
    docker 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.

Комментарии

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

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

Войти

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

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

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