Привет, друзья! Сегодня расскажу вам, как я установил n8n (крутой инструмент для автоматизации процессов) и Nginx Proxy Manager на свой VPS-сервер в Beget. Если вы читали мою предыдущую статью, то уже знаете, что у меня уже установлен Portainer.io , который делает работу с Docker контейнерами намного проще. Если нет — не переживайте, я всё объясню так, будто это мой первый раз (и, честно говоря, так оно и есть ?).

1. Покупка домена и привязка к VPS

Начнём с самого простого — покупки домена. Я выбрал Beget, потому что там всё просто и понятно:

  1. Заходите в панель управления Beget.

  2. Переходите в раздел “Домены” → “Зарегистрировать новый домен”.

  3. Вводите желаемое имя домена (например, myn8n.ru) и проверяете его доступность.

  4. Оплачиваете домен (цены там вполне адекватные, около 179 рублей в год).

  5. После покупки домен автоматически привязывается к вашему VPS через DNS-записи.

  6. Важно: если вы используете сторонный регистратор доменов, то нужно будет вручную настроить DNS-записи, указав IP вашего сервера. Но в Beget это делается автоматически, что очень удобно.

2. Подготовка директории для установки n8n

Шаг 1: Подготовка директории для данных

  1. Откройте терминал на вашем компьютере:На Windows: Используйте программу PuTTY или встроенный терминал PowerShell/CMD с командой ssh.
    На macOS/Linux: Откройте встроенный терминал.

  2. Подключитесь к серверу через SSH: Введите следующую команду, заменив Ip вашего сервера:

ssh @

Например:

ssh root@62.113.110.21

3. Создайте директорию для данных n8n:
После успешного подключения выполните команду:

mkdir -p /var/lib/n8n-data

4. Установите права доступа:
Выполните следующие команды:

chown -R 1000:1000 /var/lib/n8n-data
chmod -R 755 /var/lib/n8n-data

5. Проверка прав доступа:
После выполнения команд проверьте, что права установлены корректно:

ls -ld /path/to/your/n8n-data

Вывод должен быть примерно таким:

drwxr-xr-x 2 node node 4096 Oct 10 12:34 /path/to/your/n8n-data

Здесь важно, чтобы владелец был node (или UID 1000) и права были 755.

Скриншот моего терминала при выполнении команд

Выбор пути для директории

При выборе пути для /path/to/your/n8n-data учитывайте следующее:

  • Путь должен быть доступен для вашего Docker-движка.

  • Рекомендуется использовать стандартные места, например:
    /var/lib/n8n-data
    /opt/n8n-data
    /data/n8n-data

Если вы используете облачный хостинг (например, VPS), убедитесь, что выбранная директория имеет достаточно свободного места для хранения данных.

3. Установка n8n через Portainer.io

Теперь самое интересное — установка n8n . Для этого я использовал docker-compose файл. Вот как это делается:

  1. Заходим в интерфейс Portainer.io .

  2. Выбираем наш VPS-сервер (если их несколько).

  3. Переходим в раздел “Stacks” и нажимаем “Add stack” .

  4. Вставляем следующий docker-compose файл:

version: ‘3’
services:
n8n:
image: n8nio/n8n:latest # Используем официальный образ n8n
container_name: n8n # Название контейнера
restart: always # Автоматический перезапуск при сбое
user: “1000:1000” # Используем пользователя node из образа
environment:
– NODE_ENV=production # Режим работы
– N8N_BASIC_AUTH_ACTIVE=true # Включаем базовую аутентификацию
– N8N_BASIC_AUTH_USER=admin # Логин (замените на свой!)
– N8N_BASIC_AUTH_PASSWORD=securepassword123 # Пароль (обязательно поменяйте!)
– WEBHOOK_URL=
http://Your_domain/ # Указываете домен который в дальнейшем будите привязывать к n8n
– GENERIC_TIMEZONE=Europe/Moscow # Можете заменить на ваш город
– N8N_EXECUTIONS_SAVE_ALL=true # Сохраняем все выполненные задачи
ports:
– “5678:5678” # Открываем порт 5678 для доступа к n8n
volumes:
– /var/lib/n8n-data:/home/node/.n8n # Монтируем папку для сохранения данных
healthcheck:
test: [“CMD”, “curl”, “-f”, “
http://Your\_domain”]
interval
: 15s # Проверка каждые 15 секунд
timeout: 20s # Максимальное время ожидания 20 секунд
retries: 5 # 5 попыток вместо 3

  1. Жмём “Deploy the stack” и ждём, пока Portainer создаст контейнер.

Далее нам нужно установить Nginx Proxy Manager для привязки купленного домена к n8n.

4. Зачем нужен Nginx Proxy Manager?

Когда я первый раз запустил n8n, то сразу подумал: “А что, если я хочу использовать нормальный домен вместо IP-адреса? И заодно добавить SSL-шифрование?” Тут-то мне и пригодился Nginx Proxy Manager.

Это такой инструмент, который помогает:

  • Привязать домен к вашему сервису (в нашем случае к n8n).

  • Настроить HTTPS через бесплатные сертификаты Let’s Encrypt.

  • Управлять несколькими доменами и сервисами через один сервер.

  • Проброс вебхуков: Без обратного прокси вебхуки n8n могут не работать из-за проблем с портами и SSL

5. Установка Nginx Proxy Manager через Portainer.io

Установка Nginx Proxy Manager тоже делается через docker-compose. Вот как я это сделал:

  1. В Portainer создаём новый стек (как и с n8n).

  2. Вставляем следующий docker-compose файл:

version: ‘3’
services:
app:
image: ‘jc21/nginx-proxy-manager:latest’ # Официальный образ NPM
container_name: npm # Название контейнера
restart: unless-stopped
ports:
– ’80:80′ # HTTP
– ’81:81′ # Админка NPM
– ‘443:443’ # HTTPS
volumes:
– ./npm-config:/config # Конфигурационные файлы
– ./npm-letsencrypt:/etc/letsencrypt # Сертификаты Let’s Encrypt
environment:
– DOCKER_MODS=linuxserver/mods:nginx-proxy-manager-correct-dns # Модуль для правильной работы DNS

  1. Жмём “Deploy the stack” .

После установки открываем браузер и переходим по адресу http:// :81. Это админка Nginx Proxy Manager. Первый вход требует создания учётной записи:

Обязательно поменяйте их после первого входа!

6. Привязка домена к n8n через Nginx Proxy Manager

Теперь самое приятное — привязываем наш домен к n8n через Nginx Proxy Manager:

  1. Заходим в админку NPM (http:// :81).

  2. Переходим в раздел “Proxy Hosts” и нажимаем “Add Proxy Host” .

  3. Заполняем поля:Domain Names : n8n.pro-ai-biz.store (ваш домен).
    Scheme : http
    Forward Hostname/IP : .
    Forward Port : 5678 (порт, на котором работает n8n).

  4. Включаем SSL:Ставим галочку “Force SSL” .
    Выбираем “Request a new SSL Certificate” .
    Указываем email для сертификата Let’s Encrypt.

  5. Сохраняем настройки.

После сохранения всех настроек и удачного добавления домена должна быть надпись “Online” в статусе.

7. Входим в админку n8n, получаем бесплатный лицензионный ключ

После успешной привязки домена к n8n необходимо выполнить следующие шаги:

  1. Зайти в админку.

  2. При первом входе заполнить начальные данные.

  3. Получить лицензионный ключ на почту.

  4. Ввести полученный ключ в админку n8n.

Откроете браузер и введёте https://Your\_domain (Ваш домен), вы попадёте в ваш n8n через HTTPS

Заполните данные и нажмите “Next”

Я так заполнил эти поля в этом окне, можете также заполнить или на ваше усмотрение

Далее заходите в настройки профиля

В этом окне проверьте чтобы был указан ваш email, так как на него будет выслан ключжмете “Send me a free license key” и ждем когда придет ключ на ваш email

Далее жмем кнопку “Enter activation key” для ввода полученного ключа

Заключение

Вот и всё! Теперь у вас есть собственный n8n, доступный по красивому домену с безопасным HTTPS-подключением. Конечно, думаю вам в начале было немного страшно, но благодаря Portainer и готовым docker-compose файлам всё оказалось довольно просто.

Если у вас возникнут вопросы или что-то пойдёт не так — пишите в комментариях, постараюсь помочь! Удачи в ваших экспериментах с автоматизацией! ?

P.S. Не забудьте изменить стандартные пароли и настроить бэкапы, чтобы ваши данные были в безопасности!

Подписывайтесь на мой Telegram канал где я буду публиковать свой опыт освоения автоматизации и взаимодействия с нейросетями, полезные гайды и много полезной информации!

Комментарии (2)


  1. mgis
    20.10.2025 13:20

    Очень похоже на мой гайд.


  1. phabramich
    20.10.2025 13:20

    для меня лучшим вариантом оказалось развернуть на сервере coolify - а потом все делается несколькими кликами в гуе. правда, оверхэд большой