====== 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+