> For the complete documentation index, see [llms.txt](https://docs.clore.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.clore.ai/guides/guides_v2-ru/platformy-i-agenty-ii/n8n.md).

# ИИ-воркфлоу n8n

Разверните n8n на Clore.ai — самостоятельно хостите мощную платформу автоматизации ИИ-воркфлоу с 400+ интеграциями и нативной поддержкой LLM-агентов за копейки в час.

## Обзор

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

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

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

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

***

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

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

| Конфигурация                                | GPU        | VRAM  | Системная RAM | Диск   | Цена Clore.ai                               |
| ------------------------------------------- | ---------- | ----- | ------------- | ------ | ------------------------------------------- |
| **Минимальная** (только n8n)                | Нет / CPU  | —     | 2 ГБ          | 10 ГБ  | ≈0,03 $/ч (CPU)                             |
| **Стандартный**                             | Нет / CPU  | —     | 4 ГБ          | 20 ГБ  | \~$0.05/ч                                   |
| **+ Локальная LLM (Ollama)**                | RTX 3090   | 24 ГБ | 16 ГБ         | 60 ГБ  | $0.07–0.21/ч                                |
| **+ LLM с высокой пропускной способностью** | A100 40 ГБ | 40 ГБ | 32 ГБ         | 100 ГБ | [голое железо](https://clore.ai/bare-metal) |
| **AI Starter Kit (полный)**                 | RTX 4090   | 24 ГБ | 32 ГБ         | 100 ГБ | $0.14–0.42/ч                                |

> **Совет:** Параметр [AI Starter Kit для самостоятельного размещения 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 (production)

Для боевого использования замените стандартный 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: your-32-char-encryption-key-here
      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 Starter Kit для самостоятельного размещения n8n](https://github.com/n8n-io/self-hosted-ai-starter-kit) — самый быстрый путь к полноценному локальному стеку AI-автоматизации. В его состав входят:

* **n8n** — автоматизация рабочих процессов
* **компонент** — локальный инференс 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`           |
| API Ollama       | `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 (одиночный) или 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 добавьте новые учётные данные: **API Ollama**
   * Базовый URL: `http://ollama:11434` (если используется Compose) или `http://localhost:11434`
2. В рабочем процессе добавьте **AI Agent** узел
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

# Запустить конкретный 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 напрямую в production
# Используйте 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 Agent не может достучаться до 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_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 Starter Kit для самостоятельного размещения 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
