From 2e0b1e67d34c4936f8c636b8f3e6865b71e5a27d Mon Sep 17 00:00:00 2001 From: host Date: Wed, 5 Aug 2026 20:22:19 +0300 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=BC=D0=B5=D0=BD=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83=D1=80=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D0=B8=20=D0=B2=20=D0=A8=D0=B0=D0=B3=D0=B5=202=20=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D1=8B=20=D1=81?= =?UTF-8?q?=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=84=D0=B0=D0=B9?= =?UTF-8?q?=D0=BB=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- proxmox-mcp-open-webui-setup.md | 53 +++++++++++++-------------------- 1 file changed, 21 insertions(+), 32 deletions(-) diff --git a/proxmox-mcp-open-webui-setup.md b/proxmox-mcp-open-webui-setup.md index d3c9877..55484a5 100644 --- a/proxmox-mcp-open-webui-setup.md +++ b/proxmox-mcp-open-webui-setup.md @@ -15,9 +15,8 @@ На каждом Proxmox-сервере отдельно открой **Datacenter → Permissions → API Tokens** и создай токен. - User: `root@pam`; -- Token ID: например `openwebui-token`; -- сохрани Secret, который показывается только один раз; -- Token ID должен точно совпадать со значением `auth.token_name` в конфигурации. +- Token ID должен точно совпадать со значением `auth.token_name`; +- сохрани Secret, который показывается только один раз. Повтори операцию для `kybinka` и `pve1`. @@ -25,14 +24,6 @@ ## Шаг 2. Подготовить конфиги на TrueNAS -Файлы должны находиться здесь: - -```text -/mnt/ssd/apps/mcp/pve/config.json -/mnt/ssd/apps/mcp/kybinka/config.json -/mnt/ssd/apps/mcp/pve1/config.json -``` - Создай каталоги: ```bash @@ -43,7 +34,8 @@ mkdir -p /mnt/ssd/apps/mcp/{pve,kybinka,pve1} ### Конфигурация `pve` -```json +```bash +cat > /mnt/ssd/apps/mcp/pve/config.json << 'EOF' { "proxmox": { "host": "192.168.31.2", @@ -62,13 +54,13 @@ mkdir -p /mnt/ssd/apps/mcp/{pve,kybinka,pve1} "dev_mode": true } } +EOF ``` -Сохрани этот JSON в `/mnt/ssd/apps/mcp/pve/config.json`. - ### Конфигурация `kybinka` -```json +```bash +cat > /mnt/ssd/apps/mcp/kybinka/config.json << 'EOF' { "proxmox": { "host": "192.168.1.10", @@ -87,13 +79,13 @@ mkdir -p /mnt/ssd/apps/mcp/{pve,kybinka,pve1} "dev_mode": true } } +EOF ``` -Сохрани этот JSON в `/mnt/ssd/apps/mcp/kybinka/config.json`. - ### Конфигурация `pve1` -```json +```bash +cat > /mnt/ssd/apps/mcp/pve1/config.json << 'EOF' { "proxmox": { "host": "192.168.31.4", @@ -112,11 +104,10 @@ mkdir -p /mnt/ssd/apps/mcp/{pve,kybinka,pve1} "dev_mode": true } } +EOF ``` -Сохрани этот JSON в `/mnt/ssd/apps/mcp/pve1/config.json`. - -Проверь файлы: +Проверь корректность JSON-файлов: ```bash python3 -m json.tool /mnt/ssd/apps/mcp/pve/config.json @@ -124,25 +115,25 @@ python3 -m json.tool /mnt/ssd/apps/mcp/kybinka/config.json python3 -m json.tool /mnt/ssd/apps/mcp/pve1/config.json ``` -Ограничь доступ к файлам с токенами: +Ограничь права доступа к файлам с токенами: ```bash chmod 600 /mnt/ssd/apps/mcp/{pve,kybinka,pve1}/config.json ``` -`verify_ssl: false` используется для самоподписанных сертификатов Proxmox. В этом случае требуется `security.dev_mode: true`. Для production следует установить доверенный сертификат и использовать `verify_ssl: true`, `security.dev_mode: false`. +`verify_ssl: false` используется для самоподписанных сертификатов Proxmox. Для production следует установить доверенный сертификат и использовать `verify_ssl: true` вместе с `security.dev_mode: false`. --- ## Шаг 3. Запустить три контейнера через Dockge -В Dockge создай один Stack с именем `proxmox-mcp`, рабочая директория: +В Dockge создай один Stack с именем `proxmox-mcp` и рабочей директорией: ```text /mnt/ssd/apps/mcp ``` -Вставь в редактор Dockge **один** compose-файл: +Вставь в редактор Dockge один compose-файл: ```yaml services: @@ -180,9 +171,7 @@ services: - /mnt/ssd/apps/mcp/pve1/config.json:/app/proxmox-config/config.json:ro ``` -Не добавляй несколько блоков `services:` подряд. `networks: {}` не требуется — Compose создаст сеть автоматически. - -Замени `ЗАМЕНИТЬ_КЛЮЧ_*` на отдельные ключи для OpenAPI-доступа, нажми **Save**, затем **Down** и **Deploy/Up**. После изменения JSON-файлов контейнеры нужно перезапустить или пересоздать. +Не добавляй несколько блоков `services:` подряд. Нажми **Save**, затем **Down** и **Deploy/Up**. После изменения JSON-файлов контейнеры нужно перезапустить или пересоздать. --- @@ -217,13 +206,13 @@ curl -H "Authorization: Bearer ЗАМЕНИТЬ_КЛЮЧ_PVE" \ ## Диагностика -Если в логе появляется: +Если появляется ошибка: ```text Insecure TLS configuration blocked ``` -проверь, что внутри контейнера присутствует именно такая структура: +проверь, что внутри каждого файла присутствует: ```json "security": { @@ -231,7 +220,7 @@ Insecure TLS configuration blocked } ``` -Проверка маунта: +Проверка volume-маунта: ```bash docker inspect proxmox-mcp-pve \ @@ -252,4 +241,4 @@ docker exec proxmox-mcp-pve cat /app/proxmox-config/config.json `McpError: Connection closed` является вторичной ошибкой: MCP OpenAPI Proxy закрывается после ошибки валидации конфигурации. -> Никогда не публикуй в чат или репозиторий реальные значения `PROXMOX_API_KEY` и `auth.token_value`. Если ключи уже были опубликованы, их следует заменить. +> Не публикуй реальные значения `PROXMOX_API_KEY` и `auth.token_value` в чат или репозиторий. Если они были опубликованы, их следует заменить.