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

Обзор развертывания 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/ — директория для пользовательских файлов внутри контейнера.

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

Развертывание выполняется в несколько этапов:

  1. Подготовка системы:

  2. Исправление состояния пакетного менеджера dpkg.

  3. Обновление кэша репозиториев и исправление зависимостей через apt-get.

  4. Установка вспомогательных утилит curl и dnsutils.

  5. Подготовка окружения:

  6. Создание необходимых директорий в /data/ и /root/.

  7. Настройка прав доступа для папок данных (владелец — пользователь с UID 1000).

  8. Настройка безопасности:

  9. Создание Docker-тома для хранения сертификатов.

  10. Генерация конфигурационного файла Nginx для проксирования трафика.

  11. Настройка брандмауэра (UFW) для открытия портов 80 и 443.

  12. Запуск:

  13. Развертывание контейнеров через 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 необходимо выполнить следующие действия:

  1. Перейти в директорию с конфигурацией:

    cd /root/n8n-compose-file
    

  2. Выполнить обновление образов и перезапуск контейнеров:

    docker compose pull && docker compose up -d
    

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

Тип ресурса Путь
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:

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

    docker compose up -d
    

  • Остановка приложения:

    docker compose down
    

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