n8n на собственном сервере
n8n — это инструмент автоматизации, который соединяет приложения и позволяет строить рабочие процессы. Его можно запустить на своём VPS через Docker. В официальной документации разобрана установка через Docker Compose, а самостоятельное размещение рекомендуется людям с техническим опытом. В руководствах по установке нет цифр по процессору, RAM и диску, поэтому разумно начать с небольшого сервера и увеличивать его по ходу наблюдений.
В статье рассказано о лицензии, шагах установки, важных настройках, бэкапах и обновлениях.
Что можно строить в n8n?
Рабочий процесс в n8n — это триггер и связанные с ним шаги. Триггером может быть расписание, вебхук или событие в другом приложении. Типичные примеры: записать отправленную форму в таблицу, сообщить команде о новом заказе или каждое утро собирать отчёт и отправлять его по почте. Рабочие процессы строятся в визуальном редакторе в браузере. Писать код не обязательно, но при желании можно добавить шаг с кодом.
Зачем запускать на своём сервере?
- Ваши рабочие процессы и сохранённые данные подключений остаются на вашем сервере.
- Рабочие процессы по расписанию продолжают выполняться на сервере, пока ваш компьютер выключен, а вебхуки могут запускать их извне.
- Предел использования определяется мощностью вашего сервера, а если её не хватает, сервер можно увеличить.
- Взамен обслуживание — ваша задача: обновления, бэкапы и безопасность.
Лицензия: что разрешено при бесплатном использовании?
n8n не является ПО с открытым исходным кодом. По его собственному описанию, это ПО «fair-code». Исходный код доступен, но Sustainable Use License ограничивает коммерческое использование. Согласно официальной странице лицензии, бесплатно его можно использовать для внутренних процессов вашей компании, а также для личных и некоммерческих проектов. Создавать рабочие процессы для клиентов в рамках платных консультаций тоже можно, если сами клиенты не получают доступ к n8n. Предложение услуги, в которой клиенты входят в n8n, чтобы создавать или изменять свои рабочие процессы (размещение n8n как сервиса), требует коммерческой лицензии. По спорным случаям обращайтесь в команду лицензирования n8n.
Шаги установки
Эти шаги следуют официальному руководству по Docker Compose. Руководство получает и обновляет сертификат HTTPS через обратный прокси Traefik.
- Подготовьте сервер с Linux, на котором установлены Docker Engine и Docker Compose. Проверьте командами
docker --versionиdocker compose version. - Добавьте A-запись, которая направляет поддомен вашего домена (например,
n8n.example.com) на IP-адрес сервера. Как это сделать, описано в статье «Как подключить свой домен». - Создайте на сервере файлы
.envиcompose.yamlиз официального руководства. - Заполните в
.envзначенияDOMAIN_NAME,SUBDOMAIN,GENERIC_TIMEZONEиSSL_EMAIL. В качестве часового пояса укажитеEurope/Istanbul. Если его не указать, по умолчанию будет Нью-Йорк. - Запустите:
docker compose up -d - Откройте поддомен в браузере и сразу создайте учётную запись владельца. Владельцем станет тот, кто первым заполнит этот экран.
Настройки, о которых стоит знать
| Переменная | Для чего нужен |
|---|---|
N8N_HOST, N8N_PROTOCOL | Имя хоста, на котором работает n8n, и протокол (https) |
N8N_WEBHOOK_URL | За обратным прокси n8n не может определить свой внешний адрес. Укажите свой публичный адрес HTTPS, чтобы адреса вебхуков отображались правильно. Старое имя WEBHOOK_URL в текущих версиях ещё работает, но считается устаревшим. В более старой версии действует только старое имя, поэтому сверьтесь с документацией своей версии. |
GENERIC_TIMEZONE, TZ | Часовой пояс узлов расписания |
N8N_ENCRYPTION_KEY | Ключ, которым шифруются сохранённые данные подключений |
У узла Webhook два адреса: тестовый работает, пока вы редактируете рабочий процесс, а рабочий — после его активации. Внешним сервисам давайте рабочий адрес. Начало адреса берётся из значения N8N_WEBHOOK_URL, поэтому при неверном значении внешние сервисы не смогут достучаться до вашего рабочего процесса.
Ключ шифрования и бэкапы
При первом запуске n8n создаёт случайный ключ шифрования и хранит его в своей папке данных (/home/node/.n8n). Им шифруются ваши сохранённые подключения. Данные подключений в восстановленной базе нельзя расшифровать без ключа. Храните отдельную копию ключа.
- Что копировать: том данных (
n8n_data) содержит базу данных SQLite по умолчанию и ключ. Перед копированием остановите n8n. Если вы используете PostgreSQL, копируйте базу данных отдельно её собственными средствами. - Быстрый экспорт: команды n8n выполняются внутри контейнера.
docker compose exec n8n n8n export:workflow --backup --output=/home/node/.n8n/backups/workflows/иdocker compose exec n8n n8n export:credentials --backup --output=/home/node/.n8n/backups/credentials/записывают рабочие процессы и подключения в том данных. Пользователи, история выполнения и настройки не включены, поэтому для полного восстановления этого недостаточно. - Бэкап сервера: Seturack создаёт резервную копию вашего сервера каждую ночь и хранит последние 7 дней. Это охватывает и данные n8n, но критически важные рабочие процессы стоит экспортировать отдельно.
Ресурсы и база данных
В официальных руководствах по установке нет цифр по процессору и памяти. Ориентир: лёгкие и нечастые рабочие процессы работают на небольшом сервере, а процессам, которые обрабатывают большие файлы или много данных, нужна память. Следите за реальным использованием контейнера командой docker stats. База данных по умолчанию — SQLite. При большой нагрузке вы переходите на PostgreSQL с помощью DB_TYPE=postgresdb, при этом том папки данных остаётся.
Если сервера не хватает, увеличьте его в панели. IP-адрес и данные остаются прежними, а адреса ваших вебхуков не меняются.
Обновление
В официальном руководстве обновление описано тремя командами: docker compose pull, docker compose down и docker compose up -d. Сначала сделайте бэкап и прочитайте примечания к выпуску. Обновления операционной системы и приложений после настройки — на вас.
Безопасность
- Открывайте n8n только по HTTPS. Официальное руководство придерживается того же подхода.
- Сразу после установки создайте учётную запись владельца и выберите надёжный пароль.
- Держите в брандмауэре открытыми только порты 22, 80 и 443. Поскольку Docker обходит правила ufw для публикуемых портов, не публикуйте порт 5678 n8n наружу.
Если хотите пропустить эти шаги, выберите сервер с предустановленным n8n. Если устанавливаете сами, начните с сервера с установленным Docker.
Комментарии0
Комментариев пока нет
Поделитесь своим мнением первым.
Пожалуйста, войдите или зарегистрируйтесь, чтобы оставить комментарий.