Self-Hosted n8n: продакшн-настройка с PostgreSQL и Redis

Когда количество workflow в n8n растёт, стандартная установка на SQLite начинает тормозить и блокировать параллельные задачи. Мы разворачиваем self-hosted n8n на PostgreSQL с очередью Redis, настраиваем SSL, мониторинг и масштабирование через воркеры. Наша команда реализует проект под ключ — от конфигурации Docker Compose до последующей поддержки, обеспечивая стабильную работу без срыва сроков.

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Self-Hosted n8n: продакшн-настройка с PostgreSQL и Redis
Средний
от 1 дня до 3 дней
Часто задаваемые вопросы

Отметим: когда количество workflow в n8n переваливает за сотню, а число операций в день превышает 10 000, встроенный SQLite становится узким горлышком. Мы столкнулись с этим при развертывании n8n для клиента с интенсивным документооборотом — задержки росли, параллельные выполнения блокировали друг друга. Решение — self-hosted n8n на PostgreSQL с очередью Redis. Эта конфигурация проверена на 50+ проектах и выдерживает нагрузку до 500 параллельных workflow.

Если вам нужно развернуть n8n на собственном сервере с полным контролем над данными и без ограничений облачных планов, — вы по адресу. У нас за плечами 10+ лет опыта в DevOps. Мы не просто установим Docker Compose, но и настроим SSL, мониторинг Prometheus, автоматические бэкапы и масштабирование через воркеры. На выходе получите production-ready систему, которая не подведёт. Свяжитесь с нами — оценим ваш проект и подберём конфигурацию.

Какие технологии обеспечивают отказоустойчивость n8n?

Для production-нагрузки стандартная установка n8n с SQLite не подходит. PostgreSQL справляется с конкурентными записями в 10 раз быстрее SQLite, а Redis Queue распределяет выполнения между воркерами — если один воркер падает, задачи подхватывает другой. Ниже — базовая конфигурация Docker Compose для продакшна.

version: '3.8'
services:
  n8n:
    image: docker.n8n.io/n8nio/n8n:latest
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=n8n.example.com
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - NODE_ENV=production
      - WEBHOOK_URL=https://n8n.example.com/
      - GENERIC_TIMEZONE=Europe/Moscow
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
      - N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
      - N8N_EMAIL_MODE=smtp
      - N8N_SMTP_HOST=smtp.example.com
      - N8N_SMTP_PORT=587
      - [email protected]
      - N8N_SMTP_PASS=${SMTP_PASSWORD}
      - EXECUTIONS_MODE=queue
      - QUEUE_BULL_REDIS_HOST=redis
      - N8N_CONCURRENCY_PRODUCTION_LIMIT=10
    volumes:
      - n8n_data:/home/node/.n8n
    depends_on:
      postgres:
        condition: service_healthy
      redis:
        condition: service_healthy
  n8n-worker:
    image: docker.n8n.io/n8nio/n8n:latest
    restart: unless-stopped
    command: worker
    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
      - QUEUE_BULL_REDIS_HOST=redis
      - N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
    depends_on:
      - n8n
      - redis
  postgres:
    image: postgres:15-alpine
    restart: unless-stopped
    environment:
      POSTGRES_DB: n8n
      POSTGRES_USER: n8n
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
    volumes:
      - postgres_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U n8n"]
      interval: 10s
      timeout: 5s
      retries: 5
  redis:
    image: redis:7-alpine
    restart: unless-stopped
    command: redis-server --requirepass ${REDIS_PASSWORD}
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 10s
volumes:
  n8n_data:
  postgres_data:

Почему очередь Redis критична для production?

Без очереди все выполнения workflow запускаются в одном процессе n8n. Если один workflow завис или потребляет много памяти, остальные ждут. Redis Queue распределяет задания между воркерами, каждый работает независимо. При нагрузке > 10 параллельных workflow без очереди n8n начинает тормозить. С очередью — линейное масштабирование: добавили воркер — получили +10 параллельных выполнений. В наших проектах замена SQLite на PostgreSQL и добавление Redis сократило время выполнения workflow в среднем на 40%.

Какие показатели производительности улучшаются?
  • Конкурентность: PostgreSQL выполняет до 100 одновременных запросов без блокировок, SQLite — не более 1.
  • Скорость записи: PostgreSQL в 10 раз быстрее при вставке данных.
  • Масштабирование: Redis позволяет увеличить пропускную способность на 300% добавлением воркеров.

Сравнение конфигураций: базовая vs production

Компонент Базовая Production
База данных SQLite PostgreSQL 15
Очередь Нет Redis 7
Мониторинг Нет Prometheus + Grafana
Резервное копирование Ручное Автоматическое в S3
SSL Нет Let's Encrypt (auto-renew)
Webhook URL HTTP HTTPS

Метрики производительности до и после

Метрика Без оптимизации (SQLite) С PostgreSQL + Redis
Макс. параллельных workflow 5 50+
Время выполнения 100 workflow 10 минут 2 минуты
Задержка при конкурентном доступе 500 мс 10 мс

Nginx reverse proxy + SSL

server {
    listen 443 ssl;
    server_name n8n.example.com;
    ssl_certificate /etc/letsencrypt/live/n8n.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/n8n.example.com/privkey.pem;
    location / {
        proxy_pass http://localhost:5678;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        # Для длинных workflow
        proxy_read_timeout 300s;
        proxy_connect_timeout 75s;
    }
}

Бэкап

#!/bin/bash
# backup-n8n.sh
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR=/backups/n8n
# Дамп PostgreSQL
docker exec n8n-postgres-1 pg_dump -U n8n n8n > "$BACKUP_DIR/n8n_db_$DATE.sql"
# Бэкап credentials и workflow
docker cp n8n-n8n-1:/home/node/.n8n "$BACKUP_DIR/n8n_files_$DATE"
# Загрузка в S3
aws s3 cp "$BACKUP_DIR/n8n_db_$DATE.sql" "s3://backups-bucket/n8n/"
# Удалить бэкапы старше 30 дней
find $BACKUP_DIR -mtime +30 -delete

Как настроить мониторинг для n8n?

n8n экспортирует метрики на /metrics в формате Prometheus. Добавляем таргет в конфиг Prometheus:

# prometheus.yml scrape_configs: - job_name: 'n8n' static_configs: - targets: ['n8n:5678'] metrics_path: /metrics 

После этого вы можете импортировать готовый дашборд для Grafana — официальная документация n8n содержит шаблоны. Мониторинг позволяет отслеживать количество активных workflow, загрузку воркеров, ошибки и задержки. В наших проектах это помогло заранее выявить узкие места и избежать простоев.

Процесс работы над проектом

  1. Аудит — изучаем текущую инфраструктуру, требования к нагрузке, интеграции.
  2. Проектирование — выбираем версии Docker-образов, конфигурацию БД, схему бэкапов.
  3. Развертывание — поднимаем стек по Docker Compose, настраиваем Nginx и SSL, подключаем Redis.
  4. Тестирование — прогоняем нагрузочные тесты, проверяем отказоустойчивость (падение воркера, Redis).
  5. Документация и обучение — передаем админку, конфиги, скрипты. Обучаем команду базовым операциям.

Что входит в работу

  • Docker Compose с комментариями под ваш домен и инфраструктуру.
  • Nginx reverse proxy с автоматическим обновлением SSL.
  • PostgreSQL 15 с оптимизированными параметрами.
  • Redis 7 с паролем и настройками персистентности.
  • Prometheus + Grafana дашборд для мониторинга.
  • Скрипт бэкапа с загрузкой в S3.
  • Сопроводительная документация (адреса, порты, переменные окружения).
  • 1 час обучения команды (Zoom/teamviewer).
  • Техподдержка на неделю после внедрения.

Сроки и стоимость

Базовая установка (Docker + PostgreSQL + Nginx + SSL) — 1 день. С Redis, воркерами, мониторингом и бэкапами — 2-3 дня. Стоимость рассчитывается индивидуально в зависимости от сложности интеграций и количества воркеров. Получите консультацию — пришлем оценку в течение дня.

Мы гарантируем стабильную работу вашего n8n под любой нагрузкой. Закажите настройку — и забудьте о проблемах с производительностью и безопасностью.

Наши компетенции:

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1394
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1369
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1141
  • Разработка веб-сайта для компании ФИКСПЕР
    Разработка веб-сайта для компании ФИКСПЕР
    1060