Установка n8n на Synology в Docker

Всем привет!!!

В этой статье инструкция как установить службу автоматизации рабочих процессов n8n на Synology в контейнере Docker

Введение

n8n — это open-source платформа для автоматизации рабочих процессов с помощью ИИ, позволяющая соединять различные сервисы, API и инструменты без необходимости писать код. 

Вводную часть для ускорения работы поиска и актуализации информации помог сделать DeepSeek

🔹 Основные возможности n8n:

  1. Визуальное создание workflows
    • Работает по принципу “drag-and-drop” (перетаскивание узлов).
    • Примеры задач:
      • Автоматическая отправка email при новых данных в Google Sheets.
      • Синхронизация задач между Trello и Notion.
      • Обработка платежей через Stripe + уведомления в Telegram.
  2. Поддержка 300+ сервисов
    • Интеграции с Google, Slack, GitHub, PostgreSQL, AWS, OpenAI и др.
    • Возможность подключать любые REST/SOAP API.
  3. Self-hosted решение
    • Можно развернуть на своем сервере (Docker, Kubernetes, bare metal).
    • Нет ограничений на количество запусков (в отличие от облачных аналогов, например, Zapier).
  4. Бесплатная Community Edition
    • Полнофункциональная версия с открытым исходным кодом (GitHub).
    • Платная Enterprise Edition добавляет функции SSO, кластеризацию и поддержку.

🔹 Примеры использования n8n

  • Экономия времени на ручном сборе и обработке информации.
    • Парсинг сайтов → сохранение в Google Sheets / Notion / Airtable.
    • Обработка CSV/Excel → фильтрация, отправка по email, загрузка в базу данных.
    • Сбор данных из API (например, курсы валют, погода, биржевые котировки).
  • Чтобы не пропускать важные события и сократить время на рутинную переписку.
    • Telegram-бот для оповещений:
      • Новые заказы в интернет-магазине → уведомление менеджеру.
      • Мониторинг серверов (падение сайта → alert в Telegram).
    • Автоответчик в Gmail (например, на письма с темой “Заявка”).
    • Синхронизация чатов (Slack ↔ Discord ↔ Telegram).
  • Ускорение процессов и минимизация человеческих ошибок.
  • Интернет-магазин:
    • Новый заказ в WooCommerce → создание задачи в Trello + уведомление в Telegram.
    • Отправка чека клиенту через email/SMS.
  • Учет времени:
    • Автоматический трекинг рабочего времени (например, из Toggl → в Google Sheets).
  • HR-автоматизация:
    • Парсинг резюме с HeadHunter → сохранение в Notion.

Название n8n — это креативное сокращение, которое появилось благодаря двум ключевым идеям:

“n” + “8” + “n” = “nodemation”

  • “n” — от слова “node” (узел), так как платформа построена на узлах (nodes), из которых собираются workflows.
  • “8” — заменяет букву “eight” (произносится как “ate”), что вместе дает “n-ate-n” → “nodemation” (автоматизация через узлы).
  • Это отсылка к визуальному программированию, где логика строится из блоков-узлов.

Установка n8n

Хотя обычно я руководствуюсь официальной документацией, в этом случаи пришлось собирать материал и конфигурацию по всему интернету несколько недель. Дело в том, что в официальной документации предложен docker-compose не соответствует реальям. Если сделать как там написано, то не будут работать автоматизации связанные с телегам и другими сервисами на портах 443 и ssl сертификатами. Поэтому конфигурация в данной статье имеет больше параметров.

Подготовка

Для установки n8n в контейнер Docker на Synology нужно в папке docker создать каталог n8n и три пустых папки config data db как показано на картинке ниже

Создание проекта

Откройте Container Manager в DSM и перейдите на вкладку проекты. Создайте новый проект, придумайте ему имя, укажите путь до папки peertube и либо вставьте файл docker-compose либо его текст:

Предварительно замените n8n.XXX.synology.me и параметр TZ на ваше значение. Я буду использовать DDNS от Synology, но можно вписать любой ваш домен, записи DNS которого приведут на ваш NAS на порту 443.

TZ: Asia/Omsk укажите свой корректный часовой пояс

services:
  db:
    image: postgres:17
    container_name: n8n-DB
    hostname: n8n-db
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: ["CMD", "pg_isready", "-q", "-d", "n8n", "-U", "n8nuser"]
      timeout: 45s
      interval: 10s
      retries: 10
    volumes:
      - ./db:/var/lib/postgresql/data:rw
    environment:
      TZ: Asia/Omsk
      POSTGRES_DB: n8n
      POSTGRES_USER: n8nUser
      POSTGRES_PASSWORD: n8nPassword
    restart: unless-stopped

  n8n:
    image: n8nio/n8n:latest
    container_name: n8n-APP
    healthcheck:
      test: ["CMD-SHELL", "nc -z 127.0.0.1 5678 || exit 1"]
      interval: 10s
      timeout: 5s
      retries: 3
      start_period: 90s
    hostname: n8n
    user: 0:0
    security_opt:
      - no-new-privileges:true
    ports:
      - 5678:5678
    volumes:
      - ./config:/root/.n8n:rw
      - ./data:/files:rw
    environment:
      N8N_HOST: n8n.XXX.synology.me
      WEBHOOK_URL: https://n8n.XXX.synology.me
      VUE_APP_URL_BASE_API: https://n8n.XXX.synology.me
      GENERIC_TIMEZONE: Asia/Omsk
      TZ: Asia/Omsk
      N8N_PORT: 5678
      N8N_ENCRYPTION_KEY: KZ8QpY6XgW2vE9rT7uJkHnMqLsB4cP1D
      N8N_DIAGNOSTICS_ENABLED: false
      N8N_PROTOCOL: https
      NODE_ENV: production
      N8N_RUNNERS_ENABLED: true
      N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: true
      N8N_SECURE_COOKIE: true #for ssl connection true or not ssl conection false
      DB_TYPE: postgresdb
      DB_POSTGRESDB_DATABASE: n8n
      DB_POSTGRESDB_HOST: n8n-db
      DB_POSTGRESDB_PORT: 5432
      DB_POSTGRESDB_USER: n8nUser
      DB_POSTGRESDB_PASSWORD: n8nPassword
    restart: unless-stopped
    depends_on:
      db:
        condition: service_healthy

Должно получиться так как показано на картинке ниже. Затем везде жмите далее.

По завершению будут скачены образы docker проекта n8n и база данных. Код 0 означает, что проект успешно создался и можно продолжать.

Настройка фаервола

Если у вас включен фаервол на Synology, то нужно дополнительно разрешить сеть проекта, что бы все работало корректно. Напомню, что 16 маска это 255.255.0.0. Подробно про настройку фаервола и безопасности можно узнать тут: Настройка безопасности Synology NAS защищаем данные от внешних угроз

Обратный прокси

Для доступа к n8n по доменному имени через обратный прокси в Synology. Откройте панель управления в DSM, портал для входа, дополнительно и обратный прокси. Создайте новое правило. Придумайте название правила. В источнике укажите https, имя домена, например n8n.XXX.synology.me и 443 порт. В месте назначения укажите http, localhost и порт 5678.

Не забудьте привязать нужный SSL сертификат в Панель управления – Безопасность – Сертификаты

Подключение к n8n

Затем открываем новую вкладку браузера и переходим в https://n8n.XXX.synology.me. В открывшемся окне проходим создание первого пользователя и после попадаем в окно настройки n8n.

Итог

Развертывание n8n на Synology в Docker — это мощное решение для автоматизации задач без облачных ограничений.

n8n на Synology — это хороший баланс мощности и простоты для личных и бизнес-автоматизаций. Вы развернули автономный центр управления workflows без ежемесячных подписок и с полной приватностью. Теперь можно смело запускать автоматизацию и забыть о рутине!

Если потребуются Enterprise-функции (кластеризация, SSO), можно перейти на платную версию — но для большинства задач хватает и Community Edition.

На этом установка n8n на Synology в Docker завершена и вы можете начинать настраивать свои автоматизации.

Подписаться
Уведомить о
guest
6 Комментарий
Старые
Новые
Межтекстовые Отзывы
Посмотреть все комментарии