# n8n AI Workflows

## Обзор

[n8n](https://github.com/n8n-io/n8n) — платформа автоматизации рабочих процессов с честной лицензией и **55K+ звёзд на GitHub**. В отличие от полностью закрытых альтернатив (Zapier, Make), n8n позволяет вам самостоятельно хостить весь стек — с полным контролем над данными — при этом предлагая встроенные возможности AI-агентов, узел кода на JavaScript/Python и растущую библиотеку из более чем 400 интеграций.

На **Clore.ai**, сам n8n работает на CPU (GPU не требуется), но мощно сочетается с ускоренными на GPU сервисами, такими как Ollama или vLLM, запущенными на том же сервере, давая вам полностью локальный стек AI-автоматизации. Вы можете иметь рабочий экземпляр n8n в продакшене менее чем за **$0.10–0.20/час**.

**Ключевые возможности:**

* 🔗 **Более 400 интеграций** — Slack, GitHub, Google Sheets, Postgres, HTTP Request, вебхуки и многое другое
* 🤖 **Узлы AI-агентов** — встроенные агенты на базе LangChain с использованием инструментов и памятью
* 💻 **Узлы кода** — выполнение произвольного JavaScript или Python прямо в рабочих процессах
* 🔄 **Разнообразие триггеров** — вебхуки, cron-расписания, опросы баз данных, электронная почта, события очереди
* 📊 **Под-рабочие процессы** — модульные, переиспользуемые компоненты рабочего процесса
* 🔐 **Хранилище учётных данных** — зашифрованное хранение API-ключей и OAuth-токенов
* 🏠 **Самохостинг** — ваши данные никогда не покидают ваш сервер

***

## Требования

n8n — это приложение на Node.js, упакованное как Docker-образ. Оно **Только CPU** — само по себе не требует GPU для движка автоматизации. GPU становится полезным только если вы запускаете локальную LLM рядом с ним (например, Ollama).

| Конфигурация                     | GPU              | VRAM  | ОЗУ системы | Диск   | Clore.ai Цена     |
| -------------------------------- | ---------------- | ----- | ----------- | ------ | ----------------- |
| **Минимальная** (только n8n)     | Нет / только CPU | —     | 2 GB        | 10 ГБ  | \~$0.03/час (CPU) |
| **Стандартный**                  | Нет / только CPU | —     | 4 ГБ        | 20 ГБ  | \~$0.05/час       |
| **+ Локальная LLM (Ollama)**     | RTX 3090         | 24 ГБ | 16 ГБ       | 60 ГБ  | ≈ $0.20/ч         |
| **+ Высокопроизводительная LLM** | A100 40 GB       | 40 ГБ | 32 ГБ       | 100 ГБ | \~$0.80/час       |
| **AI Starter Kit (полный)**      | RTX 4090         | 24 ГБ | 32 ГБ       | 100 ГБ | ≈ $0.35/ч         |

> **Подсказка:** Параметр [Набор для старта AI n8n с самохостингом](https://github.com/n8n-io/self-hosted-ai-starter-kit) объединяет n8n + Ollama + Qdrant + PostgreSQL в один стек Docker Compose. Смотрите [AI Starter Kit](#ai-starter-kit-recommended) ниже.

***

## Быстрый старт

### 1. Арендуйте сервер Clore.ai

Войдите в систему в [clore.ai](https://clore.ai) и разверните сервер:

* **Инстанс только с CPU** если вам нужен только n8n для автоматизации
* **RTX 3090/4090** если вы хотите локальные LLM через Ollama
* Открыть порт **5678** в настройках отображения портов предложения
* Включить доступ по SSH

### 2. Подключитесь к серверу

```bash
ssh root@<clore-server-ip> -p <ssh-port>

# Убедитесь, что Docker установлен
docker --version
docker compose version
```

### 3. Вариант A — Минимальный запуск в одном контейнере

Самый быстрый способ запустить n8n:

```bash
# Создайте именованный том для сохранения данных
docker volume create n8n_data

# Запустить n8n
docker run -d \
  --name n8n \
  --restart unless-stopped \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  -e N8N_HOST=<clore-server-ip> \
  -e N8N_PORT=5678 \
  -e N8N_PROTOCOL=http \
  -e WEBHOOK_URL=http://<clore-server-ip>:5678/ \
  docker.n8n.io/n8nio/n8n

# Проверьте логи
docker logs -f n8n
```

Доступ к интерфейсу по адресу `http://<clore-server-ip>:5678`

### 4. Вариант B — Docker Compose с Postgres (продакшен)

Для продакшен‑использования замените SQLite по умолчанию на Postgres:

```bash
mkdir n8n-prod && cd n8n-prod
cat > docker-compose.yml << 'EOF'
version: "3.8"

services:
  postgres:
    image: postgres:15-alpine
    restart: unless-stopped
    environment:
      POSTGRES_USER: n8n
      POSTGRES_PASSWORD: n8npassword   # Измените это!
      POSTGRES_DB: n8n
    volumes:
      - postgres_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U n8n"]
      interval: 10s
      timeout: 5s
      retries: 5

  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: unless-stopped
    depends_on:
      postgres:
        condition: service_healthy
    ports:
      - "5678:5678"
    environment:
      DB_TYPE: postgresdb
      DB_POSTGRESDB_HOST: postgres
      DB_POSTGRESDB_PORT: 5432
      DB_POSTGRESDB_DATABASE: n8n
      DB_POSTGRESDB_USER: n8n
      DB_POSTGRESDB_PASSWORD: n8npassword
      N8N_HOST: <clore-server-ip>
      N8N_PORT: 5678
      N8N_PROTOCOL: http
      WEBHOOK_URL: http://<clore-server-ip>:5678/
      N8N_ENCRYPTION_KEY: ваш-32-символьный-ключ-шифрования-здесь
      EXECUTIONS_MODE: regular
      N8N_BASIC_AUTH_ACTIVE: "true"
      N8N_BASIC_AUTH_USER: admin
      N8N_BASIC_AUTH_PASSWORD: changeme!
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  postgres_data:
  n8n_data:
EOF

docker compose up -d
docker compose logs -f n8n
```

***

## AI Starter Kit (рекомендуется)

Параметр [Набор для старта AI n8n с самохостингом](https://github.com/n8n-io/self-hosted-ai-starter-kit) — самый быстрый путь к полному локальному стеку AI‑автоматизации. В комплект входят:

* **n8n** — автоматизация рабочих процессов
* **Ollama** — локальный вывод LLM (GPU или CPU)
* **Qdrant** — векторная база данных для RAG
* **PostgreSQL** — постоянное хранилище

```bash
# Клонируйте стартовый набор
git clone https://github.com/n8n-io/self-hosted-ai-starter-kit.git
cd self-hosted-ai-starter-kit

# Для серверов с поддержкой GPU (RTX 3090, 4090, A100 и т.д.)
docker compose --profile gpu-nvidia up -d

# Для серверов только с CPU
docker compose --profile cpu up -d

# Отслеживание запуска
docker compose logs -f

# Загрузите модель в Ollama (после старта стека)
docker exec ollama ollama pull llama3:8b
docker exec ollama ollama pull nomic-embed-text  # Для эмбеддингов
```

Сервисы после запуска:

| Сервис           | URL                          |
| ---------------- | ---------------------------- |
| Интерфейс n8n    | `http://<ip>:5678`           |
| Ollama API       | `http://<ip>:11434`          |
| Интерфейс Qdrant | `http://<ip>:6333/dashboard` |

> **Примечание:** Ollama с GPU требует [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html), который предустановлен на серверах Clore.ai.

***

## Конфигурация

### Справочник переменных окружения

```bash
# ── Основные настройки ───────────────────────────────────────────────────────
N8N_HOST=0.0.0.0                  # Адрес привязки
N8N_PORT=5678                     # Порт для прослушивания
N8N_PROTOCOL=http                 # http или https
WEBHOOK_URL=http://<ip>:5678/     # Публичный базовый URL вебхуков (критично!)

# ── Шифрование ─────────────────────────────────────────────────────────────
N8N_ENCRYPTION_KEY=<32-char-key>  # Шифрует сохранённые учётные данные
# Сгенерировать: openssl rand -hex 16

# ── Аутентификация ─────────────────────────────────────────────────────────
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=your-secure-password

# ── Настройки выполнения ────────────────────────────────────────────────────
EXECUTIONS_MODE=regular           # regular (single) или queue (с поддержкой Redis)
EXECUTIONS_DATA_SAVE_ON_SUCCESS=all
EXECUTIONS_DATA_SAVE_ON_ERROR=all
EXECUTIONS_DATA_MAX_AGE=336       # Хранить данные выполнения 14 дней

# ── Часовой пояс ───────────────────────────────────────────────────────────
GENERIC_TIMEZONE=UTC

# ── Отключить телеметрию (опционально) ────────────────────────────────────
N8N_DIAGNOSTICS_ENABLED=false
N8N_VERSION_NOTIFICATIONS_ENABLED=false
```

### Подключение n8n к Ollama для AI-агентов

После того как Ollama запущена на том же сервере:

1. В n8n добавьте новое учётное значение: **Ollama API**
   * Базовый URL: `http://ollama:11434` (если используете Compose) или `http://localhost:11434`
2. В рабочем процессе добавьте **узел AI-агента** узел
3. В разделе **Чат-модель**выберите Ollama и укажите модель (например `llama3:8b`)
4. Добавьте инструменты, такие как **HTTP Request**, **Postgres**, или **Код** узлы
5. Запустите!

***

## Подсказки и лучшие практики

### Оптимизация затрат на Clore.ai

```bash
# Экспортируйте все рабочие процессы перед остановкой экземпляра
# Используйте n8n CLI внутри контейнера:
docker exec n8n n8n export:workflow --all --output=/home/node/.n8n/workflows-backup.json

# Скопируйте резервную копию на локальную машину
docker cp n8n:/home/node/.n8n/workflows-backup.json ./n8n-workflows-backup.json

# Импорт на новом экземпляре:
docker exec n8n n8n import:workflow --input=/home/node/.n8n/workflows-backup.json
```

### Надёжность вебхуков на Clore.ai

Серверы Clore.ai имеют динамические IP. Если ваши вебхуки ломаются после повторного деплоя:

```bash
# 1. Используйте статический домен с Caddy + Let's Encrypt
# Caddyfile:
# n8n.yourdomain.com {
#     reverse_proxy n8n:5678
# }

# 2. Или используйте Cloudflare Tunnel (бесплатно, открытые порты не нужны):
docker run -d \
  --name cloudflared \
  --network n8n-prod_default \
  cloudflare/cloudflared:latest \
  tunnel --no-autoupdate run \
  --token <your-cloudflare-tunnel-token>
```

### Режим очереди для рабочих процессов с большим объёмом

```bash
# Добавьте Redis и запустите n8n в режиме очереди для параллельного выполнения
# Добавьте в docker-compose.yml:
  redis:
    image: redis:7-alpine
    restart: unless-stopped

  n8n-worker:
    image: docker.n8n.io/n8nio/n8n
    command: worker
    depends_on: [redis, postgres]
    environment:
      <<: *n8n-env
      EXECUTIONS_MODE: queue
      QUEUE_BULL_REDIS_HOST: redis
```

### Полезные команды n8n CLI

```bash
# Список всех рабочих процессов
docker exec n8n n8n list:workflow

# Запустить конкретный рабочий процесс вручную
docker exec n8n n8n execute --id=<workflow-id>

# Обновить n8n до последней версии
docker pull docker.n8n.io/n8nio/n8n
docker compose up -d n8n

# Проверить версию n8n
docker exec n8n n8n --version
```

### Укрепление безопасности

```bash
# Запускайте n8n за обратным прокси с HTTPS
# Никогда не открывайте порт 5678 напрямую в продакшене
# Используйте N8N_BASIC_AUTH или настройте SSO через LDAP/SAML

# Ограничьте, какие узлы разрешены (режим белого списка):
NODE_FUNCTION_ALLOW_EXTERNAL=axios,lodash
NODES_EXCLUDE='["n8n-nodes-base.executeCommand"]'  # Блокировать выполнение shell-команд
```

***

## Устранение неполадок

### Контейнер n8n сразу завершается

```bash
docker logs n8n

# Типичные проблемы:
# 1. Сбой подключения к БД — проверьте здоровье Postgres
docker compose ps postgres

# 2. Несоответствие ключа шифрования — если вы изменили N8N_ENCRYPTION_KEY
#    Учётные данные становятся нечитаемыми; введите их снова после смены ключа

# 3. Конфликт портов
ss -tlnp | grep 5678
```

### Вебхуки возвращают 404

```bash
# Убедитесь, что WEBHOOK_URL совпадает с публичным адресом, который используют отправители вебхуков
# В нём должна быть завершающая косая черта
WEBHOOK_URL=http://<your-public-ip>:5678/

# Перезапустите n8n после изменения этой переменной окружения
docker compose restart n8n
```

### Узел AI-агента не может достучаться до Ollama

```bash
# Проверьте изнутри контейнера n8n
docker exec n8n wget -qO- http://ollama:11434/api/tags
# или
docker exec n8n curl http://localhost:11434/api/tags

# Если используете отдельные контейнеры, не находящиеся в одной сети Compose:
# Используйте host.docker.internal или LAN-IP сервера
```

### "ENOSPC: no space left on device"

```bash
# Проверьте использование диска
df -h
docker system df

# Очистите старые данные выполнения в интерфейсе n8n:
# Настройки → Executions → Удалить старые выполнения

# Или включите автоочистку:
EXECUTIONS_DATA_PRUNE=true
EXECUTIONS_DATA_MAX_AGE=72   # 72 часа
```

### Медленное выполнение рабочего процесса

```bash
# Проверьте загрузку CPU
top -c

# Включите режим очереди для параллельного выполнения (см. советы выше)
# Увеличьте память Node.js при необходимости:
NODE_OPTIONS=--max-old-space-size=4096
```

***

## Дополнительное чтение

* [Официальная документация n8n](https://docs.n8n.io)
* [Репозиторий n8n на GitHub](https://github.com/n8n-io/n8n)
* [Набор для старта AI n8n с самохостингом](https://github.com/n8n-io/self-hosted-ai-starter-kit)
* [Руководство по установке n8n с Docker](https://docs.n8n.io/hosting/installation/docker/)
* [Запуск Ollama на Clore.ai](/guides/guides_v2-ru/yazykovye-modeli/ollama.md)
* [Сравнение GPU Clore.ai](/guides/guides_v2-ru/nachalo-raboty/gpu-comparison.md)
* [Сообщество n8n — форум](https://community.n8n.io)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.clore.ai/guides/guides_v2-ru/ai-platformy-i-agenty/n8n.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
