- PVSM.RU - https://www.pvsm.ru -

Привет, друзья! Сегодня расскажу вам, как я установил n8n (крутой инструмент для автоматизации процессов) и Nginx Proxy Manager на свой VPS-сервер в Beget [1]. Если вы читали мою предыдущую статью [2], то уже знаете, что у меня уже установлен Portainer.io [3] , который делает работу с Docker контейнерами намного проще. Если нет — не переживайте, я всё объясню так, будто это мой первый раз (и, честно говоря, так оно и есть 😅).
Начнём с самого простого — покупки домена. Я выбрал Beget [1], потому что там всё просто и понятно:
Заходите в панель управления Beget.
Переходите в раздел “Домены” → “Зарегистрировать новый домен”.
Вводите желаемое имя домена (например, myn8n.ru) и проверяете его доступность.
Оплачиваете домен (цены там вполне адекватные, около 179 рублей в год).
После покупки домен автоматически привязывается к вашему через DNS-записи.
Важно: если вы используете сторонный регистратор доменов, то нужно будет вручную настроить DNS-записи, указав IP вашего сервера. Но в Beget это делается автоматически, что очень удобно.




Шаг 1: Подготовка директории для данных
Откройте терминал на вашем компьютере:На Windows: Используйте программу PuTTY [5]или встроенный терминал PowerShell/CMD с командой ssh.
На macOS/Linux: Откройте встроенный терминал.
Подключитесь к серверу через 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
Если вы используете облачный
Теперь самое интересное — установка n8n . Для этого я использовал docker-compose файл. Вот как это делается:
Заходим в интерфейс Portainer.io [3] .
Выбираем наш VPS-сервер (если их несколько).
Переходим в раздел “Stacks” и нажимаем “Add stack” .
Вставляем следующий 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/ [6] # Указываете домен который в дальнейшем будите привязывать к 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 [7]: 15s # Проверка каждые 15 секунд
timeout: 20s # Максимальное время ожидания 20 секунд
retries: 5 # 5 попыток вместо 3
Жмём “Deploy the stack” и ждём, пока Portainer создаст контейнер.






Далее нам нужно установить Nginx Proxy Manager для привязки купленного домена к n8n.
Когда я первый раз запустил n8n, то сразу подумал: “А что, если я хочу использовать нормальный домен вместо IP-адреса? И заодно добавить SSL-шифрование?” Тут-то мне и пригодился Nginx Proxy Manager.
Это такой инструмент, который помогает:
Привязать домен к вашему сервису (в нашем случае к n8n).
Настроить HTTPS через бесплатные сертификаты Let’s Encrypt.
Управлять несколькими доменами и сервисами через один сервер.
Проброс вебхуков: Без обратного прокси вебхуки n8n могут не работать из-за проблем с портами и SSL
Установка Nginx Proxy Manager тоже делается через docker-compose. Вот как я это сделал:
В Portainer создаём новый стек (как и с n8n).
Вставляем следующий 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
Жмём “Deploy the stack” .
После установки открываем браузер и переходим по адресу http:// :81. Это админка Nginx Proxy Manager. Первый вход требует создания учётной записи:
Логин: admin@example.com [8]
Пароль: changeme
Обязательно поменяйте их после первого входа!


Теперь самое приятное — привязываем наш домен к n8n через Nginx Proxy Manager:
Заходим в админку NPM (http:// :81).
Переходим в раздел “Proxy Hosts” и нажимаем “Add Proxy Host” .
Заполняем поля:Domain Names : n8n.pro-ai-biz.store (ваш домен).
Scheme : http
Forward Hostname/IP : .
Forward Port : 5678 (порт, на котором работает n8n).
Включаем SSL:Ставим галочку “Force SSL” .
Выбираем “Request a new SSL Certificate” .
Указываем email для сертификата Let’s Encrypt.
Сохраняем настройки.





После сохранения всех настроек и удачного добавления домена должна быть надпись “Online” в статусе.
После успешной привязки домена к n8n необходимо выполнить следующие шаги:
Зайти в админку.
При первом входе заполнить начальные данные.
Получить лицензионный ключ на почту.
Ввести полученный ключ в админку n8n.
Откроете браузер и введёте https://Your_domain [9] (Ваш домен), вы попадёте в ваш n8n через HTTPS

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

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

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

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

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

Вот и всё! Теперь у вас есть собственный n8n, доступный по красивому домену с безопасным HTTPS-подключением. Конечно, думаю вам в начале было немного страшно, но благодаря Portainer и готовым docker-compose файлам всё оказалось довольно просто.
Если у вас возникнут вопросы или что-то пойдёт не так — пишите в комментариях, постараюсь помочь! Удачи в ваших экспериментах с автоматизацией! 🚀
P.S. Не забудьте изменить стандартные пароли и настроить бэкапы, чтобы ваши данные были в безопасности!
Подписывайтесь на мой Telegram [10] канал где я буду публиковать свой опыт освоения автоматизации и взаимодействия с нейросетями, полезные гайды и много полезной информации!
Автор: cherus09
Источник [11]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/nginx/434055
Ссылки в тексте:
[1] Beget: https://dzen.ru/away?to=http%3A%2F%2Fbeget.com%2Fp1025185
[2] статью: https://dzen.ru/away?to=https%3A%2F%2Fpro-ai-biz.ru%2F2025%2F02%2F02%2F%25F0%259F%2593%25A6-upravlyajte-docker-kak-professional-sekretnyj-instrument-kotoryj-uproshhaet-zhizn%2F
[3] Portainer.io: http://Portainer.io
[4] VPS: https://www.reg.ru/?rlink=reflink-717
[5] PuTTY : https://dzen.ru/away?to=https%3A%2F%2Fwww.putty.org%2F
[6] http://Your_domain/: http://Your_domain/
[7] http://Your_domain”]
interval: http://Your%5C_domain%E2%80%9D%5D%EF%BF%BCinterval
[8] admin@example.com: mailto:admin@example.com
[9] https://Your_domain: https://Your%5C_domain
[10] Telegram: https://t.me/+Xn0hyt2Rru83OGNi
[11] Источник: https://habr.com/ru/articles/958332/?utm_source=habrahabr&utm_medium=rss&utm_campaign=958332
Нажмите здесь для печати.