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

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

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

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

  • Операционная система: Ubuntu.

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

  • Порты:

  • 80/tcp — для HTTP (используется для проверки SSL).

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

  • 5678/tcp — внутренний порт приложения.

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

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

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

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

  • /data/n8n — основная рабочая директория приложения (данные пользователя).

  • /data/n8n/files — директория для загружаемых файлов.

  • /data/nginx — конфигурационные файлы Nginx и настройки Certbot.

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

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

  • /root/n8n-compose-file — файлы Docker Compose.

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

Процесс развертывания включает в себя несколько этапов подготовки системы и запуска контейнеров:

  1. Подготовка ОС: Исправление возможных ошибок состояний пакетов dpkg и apt, обновление кэша репозиториев и установка необходимых системных утилит (curl, dnsutils).

  2. Установка среды выполнения: Установка Docker и настройка конфигурации реестра (включая зеркала для обеспечения доступности образов).

  3. Подготовка файловой структуры: Создание необходимых директорий с соответствующими правами доступа (владелец root для системных папок и пользователь 1000 для данных приложения).

  4. Настройка веб-сервера: Генерация конфигурационного файла Nginx для автоматического перенаправления трафика с HTTP на HTTPS и настройки проксирования.

  5. Развертывание контейнеров: Запуск инфраструктуры через Docker Compose.

Приложение использует образ n8nio/n8n:latest.

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

  • Брандмауэр (UFW): В системе настроены правила, разрешающие входящий трафик по портам 80 и 443.

  • Права на данные: Директории с данными приложения (/data/n8n) принадлежат пользователю и группе с идентификатором 1000, что необходимо для корректной работы процесса внутри контейнера.

  • Безопасность Docker: Для обеспечения стабильности работы используется политика перезапуска unless-stopped.

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

Приложение разворачивается в составе двух основных компонентов через Docker Compose:

n8n

Параметр Значение
Образ n8nio/n8n:latest
Порты 127.0.0.1:5678 -> 5678 (доступ только локально)
Тома (volumes) /data/n8n:/home/node/.n8n
/data/n8n/files:/files
Переменные окружения N8N_HOST, N8N_PORT, N8N_PROTOCOL=https, NODE_ENV=production, TZ (часовой пояс)
Политика перезапуска unless-stopped

nginx

Параметр Значение
Образ jonasal/nginx-certbot:latest
Сеть host (использует сетевой стек хоста)
Тома (volumes) nginx_secrets:/etc/letsencrypt
/data/nginx/user_conf.d:/etc/nginx/user_conf.d
/data/nginx/letsencrypt:/var/www/letsencrypt
Политика перезапуска unless-stopped

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

Для обновления основного приложения необходимо выполнить следующие действия в директории /root/n8n-compose-file:

docker compose pull && docker compose up -d

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

Тип данных Путь на хосте
Данные приложения (n8n) /data/n8n
Конфигурация Nginx /data/nginx/user_conf.d/{domain}.conf
Сертификаты SSL Внутри Docker volume nginx_secrets

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

  • HTTPS: 443 (через внешний домен).

  • HTTP: 80 (перенаправляет на HTTPS).

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

Управление приложением осуществляется с помощью команд Docker Compose из директории /root/n8n-compose-file:

  • Запуск: docker compose up -d

  • Остановка: docker compose down

  • Просмотр логов: docker compose logs -f

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