Обзор развертывания n8n на сервере¶
Предварительные требования¶
Для корректной работы приложения и его компонентов требуются следующие условия:
-
Операционная система: Ubuntu.
-
Права доступа: Права суперпользователя (root) для установки системных пакетов и управления Docker.
-
Доменное имя: Настроенный DNS-запись, указывающая на IP сервера.
-
Порты:
-
80/tcp— для проверки SSL-сертификатов и перенаправления HTTP. -
443/tcp— для доступа к приложению по защищенному протоколу HTTPS.
FDQN итоговой панели на домене hostkey.in¶
Если не указан кастомный домен, используется стандартный шаблон:
| Параметр | Значение |
|---|---|
| Префикс | n8n |
| Домен | hostkey.in |
| Полный шаблон | n8n{Server_ID}.hostkey.in |
Структура файлов и каталогов¶
Все основные данные и конфигурации распределены по следующим директориям:
-
/data/nginx/user_conf.d/— пользовательские конфигурационные файлы Nginx. -
/data/nginx/letsencrypt/— файлы для проверки владения доменом (ACME challenge). -
/data/nginx/nginx-certbot.env— переменные окружения для работы SSL. -
/root/n8n-compose-file/— конфигурационный файл Docker Compose. -
/data/n8n/— основные данные приложения n8n. -
/data/n8n/files/— директория для пользовательских файлов внутри контейнера.
Процесс установки приложения¶
Развертывание выполняется в несколько этапов:
-
Подготовка системы:
-
Исправление состояния пакетного менеджера
dpkg. -
Обновление кэша репозиториев и исправление зависимостей через
apt-get. -
Установка вспомогательных утилит
curlиdnsutils. -
Подготовка окружения:
-
Создание необходимых директорий в
/data/и/root/. -
Настройка прав доступа для папок данных (владелец — пользователь с UID
1000). -
Настройка безопасности:
-
Создание Docker-тома для хранения сертификатов.
-
Генерация конфигурационного файла Nginx для проксирования трафика.
-
Настройка брандмауэра (UFW) для открытия портов
80и443. -
Запуск:
-
Развертывание контейнеров через
docker compose.
Контейнеры Docker и их запуск¶
Приложение работает в связке из двух основных компонентов:
Nginx (с поддержкой Certbot)¶
-
Образ:
jonasal/nginx-certbot:latest -
Режим сети:
host -
Тома:
-
nginx_secrets:/etc/letsencrypt(хранение сертификатов) -
/data/nginx/user_conf.d:/etc/nginx/user_conf.d -
/data/nginx/letsencrypt:/var/www/letsencrypt -
Переменные окружения:
CERTBOT_EMAIL(email для получения сертификатов). -
Политика перезапуска:
unless-stopped.
n8n¶
-
Образ:
docker.n8n.io/n8nio/n8n:latest -
Порты:
127.0.0.1:5678 -> 5678(доступен только локально для проксирования). -
Тома:
-
/data/n8n:/home/node/.n8n -
/data/n8n/files:/files -
Переменные окружения: Настроены параметры хоста, протокола (https), часового пояса (
Europe/Amsterdam) и режима работы (production). -
Политика перезапуска:
unless-stopped.
Инструкция по обновлению приложения¶
Для обновления основного приложения n8n необходимо выполнить следующие действия:
-
Перейти в директорию с конфигурацией:
-
Выполнить обновление образов и перезапуск контейнеров:
Расположение конфигурационных файлов и данных¶
| Тип ресурса | Путь |
|---|---|
| Docker Compose файл | /root/n8n-compose-file/compose.yml |
| Конфигурация Nginx | /data/nginx/user_conf.d/{domain}.conf |
| Данные n8n | /data/n8n |
| Пользовательские файлы | /data/n8n/files |
Доступные порты для подключения¶
-
HTTPS:
443(через доменное имя). -
HTTP:
80(для перенаправления на HTTPS и проверки SSL).
Запуск, остановка приложения¶
Управление приложением осуществляется через Docker Compose из директории /root/n8n-compose-file:
-
Запуск всех сервисов:
-
Остановка приложения: