====== n8n MCP Multi-Instance - Руководство пользователя ======
=====Источники=====
https://github.com/czlonkowski/n8n-mcp\\
https://www.n8n-mcp.com/
=====Установка в один клик=====
** Важно!**\\
Если хотите что бы все папки и файлы создались от текущего пользователя что бы был доступ для редактирования запускать не от SUDO\\
Тогда скрипт выяснит текущего пользователя и установит все от системного пользователя.
cd ~
wget "https://dokuwiki.nanokey.tech/_media/vm:n8n_mcp:n8n_mcp_multi_installer.tar" -O n8n_mcp_multi_installer.tar
tar -xvf n8n_mcp_multi_installer.tar
chmod +x n8n_mcp_multi_installer.sh
./n8n_mcp_multi_installer.sh
** Важно!**\\
После установки первичной нужно выйти из текущей сессии и зайти что бы применились все новые права для работы с меню.
====== N8N MCP Multi-Instance Docker Installer v3.0 ======
===== Описание =====
**N8N MCP Multi-Instance Docker Installer** - это автоматизированный скрипт для развертывания множественных изолированных инстансов n8n-mcp в Docker контейнерах с умным управлением портами и централизованной системой управления.
**Версия:** 3.0\\
**Совместимость:** Ubuntu 18.04+, Debian 10+\\
**Требования:** sudo права, интернет соединение\\
**Автор:** Система автоматической установки n8n-mcp
===== Основные возможности =====
* 🚀 **Автоматическая установка** Docker и Docker Compose
* 🎯 **Умное управление портами** с автоматическим поиском свободных портов
* 📦 **Множественные инстансы** с изоляцией и независимой конфигурацией
* 🎛️ **Консоль управления** с 16 функциями администрирования
* 👥 **Управление клиентами** с генерацией конфигов подключения
* 🔒 **Безопасность** с автоматической генерацией токенов авторизации
* 📊 **Мониторинг** статуса всех инстансов и портов
===== Быстрый старт =====
==== 1. Загрузка и запуск ====
# Скачайте скрипт
wget https://your-domain.com/install-n8n-mcp-v3.sh
# Или создайте файл вручную
nano install-n8n-mcp-v3.sh
# Вставьте код скрипта
# Сделайте исполняемым
chmod +x install-n8n-mcp-v3.sh
# Запустите установку
./install-n8n-mcp-v3.sh
==== 2. Применение прав Docker ====
После установки выполните одну из команд для применения прав Docker:
# Вариант 1: Применить в текущей сессии
newgrp docker
# Вариант 2: Перелогиниться
exit
ssh user@server
==== 3. Запуск базового инстанса ====
# Быстрый запуск основного инстанса
/opt/n8nmcp/start-main.sh
# Или через консоль управления
/opt/n8nmcp/multi-manage.sh
===== Структура установки =====
После установки создается следующая структура:
/opt/n8nmcp/
├── instances/ # Директория инстансов
│ └── main/ # Базовый инстанс
│ ├── docker-compose.yml
│ ├── .env # Конфигурация
│ ├── instance.json # Метаданные
│ ├── data/ # Данные инстанса
│ ├── logs/ # Логи
│ └── config/ # Конфигурации
├── clients/ # Клиентские конфиги
├── logs/ # Общие логи
├── config/ # Общие конфигурации
├── shared/ # Общие ресурсы
├── multi-manage.sh # Консоль управления
├── start-main.sh # Быстрый запуск
├── instances.registry # Реестр инстансов
└── clients.registry # Реестр клиентов
===== Консоль управления =====
Запустите консоль управления: ''%%/opt/n8nmcp/multi-manage.sh%%''
==== Категории функций ====
=== 📦 ИНСТАНСЫ ===
^ Опция ^ Функция ^ Описание ^
| **1** | 🆕 Создать новый инстанс | Создание нового изолированного инстанса |
| **2** | 📋 Список инстансов | Отображение всех инстансов с статусом |
| **3** | ⚙️ Управление инстансом | Запуск/остановка/удаление инстанса |
| **4** | 🔄 Запустить все инстансы | Массовый запуск всех инстансов |
| **5** | ⏹️ Остановить все инстансы | Массовая остановка всех инстансов |
=== 👥 КЛИЕНТЫ ===
^ Опция ^ Функция ^ Описание ^
| **6** | 🆕 Создать клиентский конфиг | Генерация конфига для подключения |
| **7** | 📋 Список клиентов | Отображение всех клиентских конфигов |
| **8** | 🔌 Тестировать подключение | Проверка соединения с инстансом |
| **9** | 🗑️ Удалить клиента | Удаление клиентского конфига |
=== 🌐 ПОРТЫ ===
^ Опция ^ Функция ^ Описание ^
| **10** | 📊 Показать использование портов | Карта занятых/свободных портов |
| **11** | 🔍 Найти свободный порт | Поиск доступного порта в диапазоне |
=== 🔧 СИСТЕМА ===
^ Опция ^ Функция ^ Описание ^
| **12** | 📊 Общий статус системы | Информация о Docker, инстансах, ресурсах |
| **13** | 📡 Показать все подключения | URL и токены всех инстансов |
| **14** | 🧹 Очистка неиспользуемых ресурсов | Docker system prune |
| **15** | 🔄 Обновить все образы | Обновление n8n-mcp образов |
| **16** | 🔧 Исправить права доступа | Восстановление прав на файлы |
===== Создание инстанса =====
==== Автоматический режим ====
# Через консоль управления
/opt/n8nmcp/multi-manage.sh
# Выберите опцию 1
# Введите имя инстанса (например: production)
# Система автоматически найдет свободный порт
==== Интерактивный выбор порта ====
При создании инстанса доступны 3 опции:
- **1)** Использовать предлагаемый порт (автоматический)
- **2)** Ввести другой порт вручную
- **3)** Показать занятые порты и выбрать
**Совет:** Используйте опцию 3 для просмотра карты портов перед выбором
==== Конфигурация .env файла ====
После создания инстанса отредактируйте файл конфигурации:
nano /opt/n8nmcp/instances/ИМЯ_ИНСТАНСА/.env
Раскомментируйте и настройте N8N API:
# n8n MCP Instance Configuration - production
AUTH_TOKEN=сгенерированный_токен
USE_FIXED_HTTP=true
MCP_MODE=http
TZ=Europe/Moscow
INSTANCE_NAME=production
INSTANCE_PORT=3001
# Добавьте здесь ваши n8n API настройки:
N8N_API_URL=https://your-n8n-instance.com
N8N_API_KEY=your-n8n-api-key
===== Управление инстансами =====
==== Основные команды ====
# Запуск инстанса
cd /opt/n8nmcp/instances/ИМЯ_ИНСТАНСА
docker-compose up -d
# Остановка инстанса
docker-compose down
# Перезапуск инстанса
docker-compose restart
# Просмотр логов
docker-compose logs -f
# Статус инстанса
docker-compose ps
==== Через консоль управления ====
/opt/n8nmcp/multi-manage.sh
# Выберите опцию 3 "Управление инстансом"
# Выберите нужный инстанс и действие
===== Работа с клиентами =====
==== Создание клиентского конфига ====
# Через консоль управления
/opt/n8nmcp/multi-manage.sh
# Выберите опцию 6 "Создать клиентский конфиг"
# Введите имя клиента: my-client
# Выберите инстанс для подключения: production
==== Использование конфига ====
# Скрипт подключения
/opt/n8nmcp/clients/my-client/connect.sh
# Конфигурационный файл
cat /opt/n8nmcp/clients/my-client/config.json
Пример конфига клиента:
{
"client_name": "my-client",
"instance_name": "production",
"url": "http://192.168.1.100:3001",
"auth_token": "abc123...",
"port": 3001
}
===== Мониторинг и диагностика =====
==== Проверка статуса системы ====
# Через консоль управления
/opt/n8nmcp/multi-manage.sh
# Опция 12: Общий статус системы
# Или командная строка
docker ps --filter 'name=n8n-mcp'
==== Просмотр использования портов ====
# Через консоль управления
/opt/n8nmcp/multi-manage.sh
# Опция 10: Показать использование портов
# Или вручную
netstat -tuln | grep :3000
ss -tuln | grep :3000
==== Диагностика проблем ====
# Проверка логов инстанса
cd /opt/n8nmcp/instances/ИМЯ_ИНСТАНСА
docker-compose logs -f
# Проверка статуса контейнера
docker ps -a --filter 'name=n8n-mcp-ИМЯ_ИНСТАНСА'
# Проверка прав Docker
docker ps
# Если ошибка, выполните: newgrp docker
# Проверка здоровья инстанса
curl -s http://localhost:ПОРТ/health
===== Настройка systemd =====
Скрипт автоматически создает systemd service для базового инстанса:
# Управление службой
sudo systemctl start n8n-mcp
sudo systemctl stop n8n-mcp
sudo systemctl restart n8n-mcp
sudo systemctl status n8n-mcp
# Автозапуск при загрузке
sudo systemctl enable n8n-mcp
sudo systemctl disable n8n-mcp
===== Обновление системы =====
==== Обновление образов ====
# Через консоль управления
/opt/n8nmcp/multi-manage.sh
# Опция 15: Обновить все образы
# Или вручную
docker pull ghcr.io/czlonkowski/n8n-mcp:latest
# Перезапуск инстансов для применения обновлений
/opt/n8nmcp/multi-manage.sh
# Опция 4: Запустить все инстансы
==== Очистка ресурсов ====
# Через консоль управления
/opt/n8nmcp/multi-manage.sh
# Опция 14: Очистка неиспользуемых ресурсов
# Или вручную
docker system prune -f
docker volume prune -f
docker network prune -f
===== Резервное копирование =====
==== Важные данные для бэкапа ====
# Конфигурации инстансов
tar -czf n8nmcp-configs-$(date +%Y%m%d).tar.gz /opt/n8nmcp/instances/*/
# Данные инстансов
tar -czf n8nmcp-data-$(date +%Y%m%d).tar.gz /opt/n8nmcp/instances/*/data/
# Клиентские конфиги
tar -czf n8nmcp-clients-$(date +%Y%m%d).tar.gz /opt/n8nmcp/clients/
# Полный бэкап
tar -czf n8nmcp-full-backup-$(date +%Y%m%d).tar.gz /opt/n8nmcp/
==== Восстановление ====
# Остановка всех инстансов
/opt/n8nmcp/multi-manage.sh # Опция 5
# Восстановление из бэкапа
sudo tar -xzf n8nmcp-full-backup-YYYYMMDD.tar.gz -C /
# Восстановление прав
sudo chown -R $(whoami):$(id -gn) /opt/n8nmcp/
chmod -R 755 /opt/n8nmcp/
find /opt/n8nmcp/ -name "*.env" -exec chmod 600 {} \;
# Запуск инстансов
/opt/n8nmcp/multi-manage.sh # Опция 4
===== Устранение неполадок =====
==== Частые проблемы ====
=== Ошибка: "AUTH_TOKEN is required" ===
**Проблема:** Контейнер не может найти токен авторизации\\
**Решение:** Проверьте файл .env в директории инстанса
# Проверьте наличие токена
grep AUTH_TOKEN /opt/n8nmcp/instances/main/.env
# Если токена нет, добавьте:
echo "AUTH_TOKEN=$(openssl rand -base64 32)" >> /opt/n8nmcp/instances/main/.env
# Перезапустите инстанс
cd /opt/n8nmcp/instances/main
docker-compose restart
=== Ошибка: "permission denied" при запуске Docker ===
**Проблема:** Пользователь не в группе docker\\
**Решение:** Применить права Docker группы
# Проверьте группы пользователя
groups $(whoami)
# Если нет группы docker:
sudo usermod -aG docker $(whoami)
newgrp docker
# Или перелогиньтесь
exit && ssh user@server
=== Порт уже занят ===
**Проблема:** Выбранный порт уже используется\\
**Решение:** Используйте автоматический поиск портов
# Через консоль управления
/opt/n8nmcp/multi-manage.sh
# Опция 10: Показать использование портов
# Опция 11: Найти свободный порт
# Или вручную
netstat -tuln | grep :3000
ss -tuln | grep :3000
=== Инстанс не запускается ===
# Проверьте логи
cd /opt/n8nmcp/instances/ИМЯ_ИНСТАНСА
docker-compose logs
# Проверьте статус контейнера
docker ps -a
# Проверьте права на файлы
ls -la /opt/n8nmcp/instances/ИМЯ_ИНСТАНСА/
# Исправьте права
sudo chown -R $(whoami):$(id -gn) /opt/n8nmcp/
===== Безопасность =====
==== Рекомендации по безопасности ====
* 🔒 **Токены авторизации** генерируются автоматически и уникальны для каждого инстанса
* 🛡️ **Файлы .env** имеют права доступа 600 (только владелец)
* 🌐 **Сетевая изоляция** - каждый инстанс в собственной Docker сети
* 👤 **Пользовательские права** - контейнеры запускаются от имени текущего пользователя
==== Настройка файрвола ====
# Открытие портов для инстансов (пример для ufw)
sudo ufw allow 3000/tcp comment "n8n-mcp main instance"
sudo ufw allow 3001/tcp comment "n8n-mcp production instance"
# Ограничение доступа по IP
sudo ufw allow from 192.168.1.0/24 to any port 3000
==== Смена токенов ====
# Генерация нового токена
NEW_TOKEN=$(openssl rand -base64 32)
# Обновление в .env файле
sed -i "s/AUTH_TOKEN=.*/AUTH_TOKEN=$NEW_TOKEN/" /opt/n8nmcp/instances/ИМЯ_ИНСТАНСА/.env
# Обновление в метаданных
sed -i "s/\"auth_token\": \".*\"/\"auth_token\": \"$NEW_TOKEN\"/" /opt/n8nmcp/instances/ИМЯ_ИНСТАНСА/instance.json
# Перезапуск инстанса
cd /opt/n8nmcp/instances/ИМЯ_ИНСТАНСА
docker-compose restart
===== API и интеграция =====
==== Подключение к инстансу ====
# Базовое подключение
curl -H "Authorization: Bearer YOUR_TOKEN" http://localhost:3000/health
# Проверка здоровья инстанса
curl -s http://localhost:3000/health | jq .
# MCP подключение
curl -H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"method": "ping"}' \
http://localhost:3000/mcp
==== Конфигурация N8N ====
В настройках N8N добавьте MCP сервер:
{
"name": "n8n-mcp-instance",
"url": "http://localhost:3000",
"auth": {
"type": "bearer",
"token": "YOUR_AUTH_TOKEN"
}
}
===== Полезные команды =====
# Просмотр всех инстансов
docker ps --filter 'name=n8n-mcp' --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}'
# Просмотр использования ресурсов
docker stats --filter 'name=n8n-mcp'
# Просмотр логов всех инстансов
for instance in /opt/n8nmcp/instances/*/; do
echo "=== $(basename $instance) ==="
cd "$instance" && docker-compose logs --tail=10
done
# Массовое обновление конфигураций
find /opt/n8nmcp/instances -name ".env" -exec sed -i 's/TZ=.*/TZ=Europe\/Moscow/' {} \;
# Поиск инстанса по порту
grep -r "INSTANCE_PORT=3001" /opt/n8nmcp/instances/*/
===== Контакты и поддержка =====
**Документация:** [[https://docs.n8n-mcp.com|docs.n8n-mcp.com]]\\
**GitHub:** [[https://github.com/czlonkowski/n8n-mcp|n8n-mcp repository]]\\
**Issues:** [[https://github.com/czlonkowski/n8n-mcp/issues|GitHub Issues]]
==== Полезные ссылки ====
* [[https://docs.docker.com/|Docker Documentation]]
* [[https://docs.docker.com/compose/|Docker Compose Documentation]]
* [[https://n8n.io/docs/|N8N Documentation]]
* [[https://ubuntu.com/server/docs|Ubuntu Server Guide]]
----
**Последнее обновление:** {{page>:wiki:footer_date&nofooter&noeditbtn}}\\
**Версия документации:** 3.0\\
**Совместимость:** N8N MCP Multi-Instance Installer v3.0+