Перейти к содержанию

Обзор развертывания n8n на сервере

Предварительные требования

Для корректной работы приложения требуются следующие параметры системы:

  • Операционная система: Ubuntu (рекомендуется).

  • Права доступа: Права суперпользователя (root) для установки системных пакетов и управления Docker.

  • Домен: Настроенное доменное имя, соответствующее шаблону панели.

  • Порты:

    • 80/tcp (HTTP) — для проверки SSL и перенаправления на HTTPS.

    • 443/tcp (HTTPS) — основной порт доступа к приложению.

    • 5678/tcp — внутренний порт приложения (доступен только локально).

FDQN итоговой панели на домене hostkey.in

Параметр Значение
Префикс n8n
Домен hostkey.in
Полный шаблон n8n{Server_ID_from_Invapi}.hostkey.in

Структура файлов и каталогов

Все основные данные и конфигурации распределены по следующим путям:

  • /data/nginx/user_conf.d/ — пользовательские конфигурационные файлы Nginx.

  • /data/nginx/letsencrypt/.well-known/acme-challenge/ — директория для прохождения проверки Certbot.

  • /root/n8n-compose-file/ — рабочая директория с файлом compose.yml.

  • /data/n8n — основная директория данных приложения n8n.

  • /data/n8n/files — директория для пользовательских файлов внутри контейнера.

Процесс установки приложения

Приложение развертывается с использованием Docker и Docker Compose. Используется официальный образ: docker.n8n.io/n8nio/n8n:latest.

Процесс включает в себя:

  1. Подготовку системных зависимостей (curl, dnsutils).

  2. Установку Docker.

  3. Создание необходимых директорий и Docker-томов.

  4. Генерацию конфигурации Nginx с поддержкой SSL.

  5. Запуск контейнеров через docker compose.

Права доступа и безопасность

Безопасность системы обеспечивается следующими механизмами:

  • Брандмауэр (UFW): Разрешены входящие соединения на порты 80 и 443/tcp.

  • Ограничение доступа: Приложение n8n прослушивает порт 5678 только на интерфейсе 127.0.0.1, что предотвращает прямой доступ извне, минуя прокси-сервер.

  • Права на директории:

    • Директория /data/nginx и подкаталоги принадлежат пользователю root.

    • Директории данных n8n (/data/n8n и /data/n8n/files) имеют владельца с UID/GID 1000.

Контейнеры Docker и их запуск

Система состоит из двух основных сервисов, управляемых через docker compose:

  • nginx:

    • Образ: jonasal/nginx-certbot:latest

    • Режим сети: host

    • Назначение: Проксирование трафика и управление SSL-сертификатами.

  • n8n:

    • Образ: docker.n8n.io/n8nio/n8n:latest

    • Назначение: Основное приложение автоматизации.

Инструкция по обновлению приложения

Обновление выполняется_pull и перезапуск контейнеров. Для обновления необходимо выполнить команды в директории /root/n8n-compose-file:

docker compose pull && docker compose up -d

Настройки прав

Настройка прав доступа для файлов и папок:

Путь Владелец (UID/GID) Права
/data root 0755
/data/n8n 1000 0755
/data/n8n/files 1000 0755
/root/n8n-compose-file root 0755

Расположение конфигурационных файлов и данных

Конфигурация приложения включает:

  • Файл окружения для SSL: /data/nginx/nginx-certbot.env.

  • Конфигурация Nginx: /data/nginx/user_conf.d/{domain}.conf.

  • Docker Compose: /root/n8n-compose-file/compose.yml.

Доступные порты для подключения

Порт Протокол Описание Доступность
443 HTTPS Основной интерфейс приложения Публично
80 HTTP Перенаправление на HTTPS / проверка SSL Публично
5678 TCP Внутренний порт n8n Только локально (localhost)

Запуск, остановка приложения

Управление сервисами осуществляется через docker compose в директории /root/n8n-compose-file:

  • Запуск всех сервисов:

    docker compose up -d
    

  • Остановка сервисов:

    docker compose down
    

Прокси серверы

В качестве прокси-сервера используется контейнер nginx-certbot.

Настройки SSL и доменов:

  • Автоматическое получение сертификатов через Certbot.

  • Перенаправление (Redirect) с HTTP на HTTPS.

  • Поддержка заголовков для корректной работы Webhook и WebSocket (Upgrade, Connection).

  • Настройка максимального размера тела запроса: 64m.

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×