Исправил путь подключения OpenAPI-серверов в Open WebUI
This commit is contained in:
@@ -30,7 +30,7 @@
|
|||||||
mkdir -p /mnt/ssd/apps/mcp/{pve,kybinka,pve1}
|
mkdir -p /mnt/ssd/apps/mcp/{pve,kybinka,pve1}
|
||||||
```
|
```
|
||||||
|
|
||||||
> Важно: `dev_mode` находится внутри блока `security`, а не в корне JSON. Именно такую структуру ожидает ProxmoxMCP-Plus.
|
Для самоподписанных сертификатов Proxmox используй `verify_ssl: false` и `security.dev_mode: true`.
|
||||||
|
|
||||||
### Конфигурация `pve`
|
### Конфигурация `pve`
|
||||||
|
|
||||||
@@ -107,7 +107,7 @@ cat > /mnt/ssd/apps/mcp/pve1/config.json << 'EOF'
|
|||||||
EOF
|
EOF
|
||||||
```
|
```
|
||||||
|
|
||||||
Проверь корректность JSON-файлов:
|
Проверь JSON-файлы:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
python3 -m json.tool /mnt/ssd/apps/mcp/pve/config.json
|
python3 -m json.tool /mnt/ssd/apps/mcp/pve/config.json
|
||||||
@@ -115,25 +115,17 @@ python3 -m json.tool /mnt/ssd/apps/mcp/kybinka/config.json
|
|||||||
python3 -m json.tool /mnt/ssd/apps/mcp/pve1/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. Для production следует установить доверенный сертификат и использовать `verify_ssl: true` вместе с `security.dev_mode: false`.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Шаг 3. Запустить три контейнера через Dockge
|
## Шаг 3. Запустить три контейнера через Dockge
|
||||||
|
|
||||||
В Dockge создай один Stack с именем `proxmox-mcp` и рабочей директорией:
|
В Dockge создай один Stack `proxmox-mcp` с рабочей директорией:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
/mnt/ssd/apps/mcp
|
/mnt/ssd/apps/mcp
|
||||||
```
|
```
|
||||||
|
|
||||||
Вставь в редактор Dockge один compose-файл:
|
Используй один compose-файл:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
services:
|
services:
|
||||||
@@ -171,7 +163,7 @@ services:
|
|||||||
- /mnt/ssd/apps/mcp/pve1/config.json:/app/proxmox-config/config.json:ro
|
- /mnt/ssd/apps/mcp/pve1/config.json:/app/proxmox-config/config.json:ro
|
||||||
```
|
```
|
||||||
|
|
||||||
Не добавляй несколько блоков `services:` подряд. Нажми **Save**, затем **Down** и **Deploy/Up**. После изменения JSON-файлов контейнеры нужно перезапустить или пересоздать.
|
Нажми **Save**, затем **Down** и **Deploy/Up**.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -194,25 +186,56 @@ curl -H "Authorization: Bearer ЗАМЕНИТЬ_КЛЮЧ_PVE" \
|
|||||||
|
|
||||||
## Шаг 5. Подключить к Open WebUI
|
## Шаг 5. Подключить к Open WebUI
|
||||||
|
|
||||||
Добавь три OpenAPI Tool Server:
|
В текущем интерфейсе Open WebUI добавление OpenAPI-серверов выполняется не через раздел **Инструменты** и не через кнопку **Новый инструмент**.
|
||||||
|
|
||||||
- `http://192.168.31.100:8811/openapi.json` — `Proxmox pve`;
|
Используй следующий путь:
|
||||||
- `http://192.168.31.100:8812/openapi.json` — `Proxmox kybinka`;
|
|
||||||
- `http://192.168.31.100:8813/openapi.json` — `Proxmox pve1`.
|
|
||||||
|
|
||||||
Для каждого сервера укажи соответствующий Bearer-ключ из `PROXMOX_API_KEY`.
|
```text
|
||||||
|
Настройки → Интеграции → External Tool Servers → «+»
|
||||||
|
```
|
||||||
|
|
||||||
|
В открывшейся форме добавь сервер `pve`:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Название: Proxmox pve
|
||||||
|
URL: http://192.168.31.100:8811/openapi.json
|
||||||
|
Авторизация: Bearer
|
||||||
|
Токен: значение PROXMOX_API_KEY для proxmox-mcp-pve
|
||||||
|
```
|
||||||
|
|
||||||
|
Нажми **Сохранить**.
|
||||||
|
|
||||||
|
Затем добавь два остальных сервера:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Название: Proxmox kybinka
|
||||||
|
URL: http://192.168.31.100:8812/openapi.json
|
||||||
|
Авторизация: Bearer
|
||||||
|
Токен: значение PROXMOX_API_KEY для proxmox-mcp-kybinka
|
||||||
|
```
|
||||||
|
|
||||||
|
```text
|
||||||
|
Название: Proxmox pve1
|
||||||
|
URL: http://192.168.31.100:8813/openapi.json
|
||||||
|
Авторизация: Bearer
|
||||||
|
Токен: значение PROXMOX_API_KEY для proxmox-mcp-pve1
|
||||||
|
```
|
||||||
|
|
||||||
|
Важно:
|
||||||
|
|
||||||
|
- нажимай «+» именно в строке **External Tool Servers**;
|
||||||
|
- не используй «+» возле **Open Terminal**;
|
||||||
|
- не используй **Новый инструмент** на странице пользовательских Tools;
|
||||||
|
- для каждого сервера указывай отдельный Bearer-токен из compose-файла;
|
||||||
|
- `PROXMOX_API_KEY` — это ключ OpenAPI-сервера, он отличается от `auth.token_value` в `config.json`.
|
||||||
|
|
||||||
|
После сохранения открой новый чат, нажми значок инструментов и включи нужный сервер, например `Proxmox pve`.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Диагностика
|
## Диагностика
|
||||||
|
|
||||||
Если появляется ошибка:
|
Если появляется ошибка `Insecure TLS configuration blocked`, проверь наличие блока:
|
||||||
|
|
||||||
```text
|
|
||||||
Insecure TLS configuration blocked
|
|
||||||
```
|
|
||||||
|
|
||||||
проверь, что внутри каждого файла присутствует:
|
|
||||||
|
|
||||||
```json
|
```json
|
||||||
"security": {
|
"security": {
|
||||||
@@ -220,6 +243,8 @@ Insecure TLS configuration blocked
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Если появляется `McpError: Connection closed`, сначала ищи выше в логе первичную ошибку конфигурации.
|
||||||
|
|
||||||
Проверка volume-маунта:
|
Проверка volume-маунта:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -233,12 +258,4 @@ docker inspect proxmox-mcp-pve \
|
|||||||
/mnt/ssd/apps/mcp/pve/config.json -> /app/proxmox-config/config.json
|
/mnt/ssd/apps/mcp/pve/config.json -> /app/proxmox-config/config.json
|
||||||
```
|
```
|
||||||
|
|
||||||
Проверка файла внутри контейнера:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
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` в чат или репозиторий. Если они были опубликованы, их следует заменить.
|
||||||
|
|||||||
Reference in New Issue
Block a user