Уточнил источник ключа для авторизации Open WebUI

This commit is contained in:
2026-08-05 20:45:42 +03:00
parent af060d9e56
commit e6e473191c
+48 -38
View File
@@ -15,7 +15,7 @@
На каждом Proxmox-сервере отдельно открой **Datacenter → Permissions → API Tokens** и создай токен. На каждом Proxmox-сервере отдельно открой **Datacenter → Permissions → API Tokens** и создай токен.
- User: `root@pam`; - User: `root@pam`;
- Token ID должен точно совпадать со значением `auth.token_name`; - Token ID должен точно совпадать со значением `auth.token_name` соответствующего `config.json`;
- сохрани Secret, который показывается только один раз. - сохрани Secret, который показывается только один раз.
Повтори операцию для `kybinka` и `pve1`. Повтори операцию для `kybinka` и `pve1`.
@@ -115,6 +115,11 @@ 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
``` ```
Важное различие:
- `auth.token_value` — Secret API-токена Proxmox, он хранится в `config.json`;
- `PROXMOX_API_KEY` — отдельный ключ защиты OpenAPI-сервера, он задаётся в compose/Dockge и используется в Open WebUI как Bearer-токен.
--- ---
## Шаг 3. Запустить три контейнера через Dockge ## Шаг 3. Запустить три контейнера через Dockge
@@ -136,7 +141,7 @@ services:
ports: ports:
- "8811:8811" - "8811:8811"
environment: environment:
PROXMOX_API_KEY: "ЗАМЕНИТЬ_КЛЮЧ_PVE" PROXMOX_API_KEY: "СГЕНЕРИРОВАТЬ_ОТДЕЛЬНЫЙ_КЛЮЧ_PVE"
volumes: volumes:
- /mnt/ssd/apps/mcp/pve/config.json:/app/proxmox-config/config.json:ro - /mnt/ssd/apps/mcp/pve/config.json:/app/proxmox-config/config.json:ro
@@ -147,7 +152,7 @@ services:
ports: ports:
- "8812:8811" - "8812:8811"
environment: environment:
PROXMOX_API_KEY: "ЗАМЕНИТЬ_КЛЮЧ_KYBINKA" PROXMOX_API_KEY: "СГЕНЕРИРОВАТЬ_ОТДЕЛЬНЫЙ_КЛЮЧ_KYBINKA"
volumes: volumes:
- /mnt/ssd/apps/mcp/kybinka/config.json:/app/proxmox-config/config.json:ro - /mnt/ssd/apps/mcp/kybinka/config.json:/app/proxmox-config/config.json:ro
@@ -158,12 +163,18 @@ services:
ports: ports:
- "8813:8811" - "8813:8811"
environment: environment:
PROXMOX_API_KEY: "ЗАМЕНИТЬ_КЛЮЧ_PVE1" PROXMOX_API_KEY: "СГЕНЕРИРОВАТЬ_ОТДЕЛЬНЫЙ_КЛЮЧ_PVE1"
volumes: volumes:
- /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
``` ```
Нажми **Save**, затем **Down** и **Deploy/Up**. Для каждого сервиса используй отдельный ключ. Сгенерировать ключ можно командой:
```bash
openssl rand -hex 32
```
Замени значения `СГЕНЕРИРОВАТЬ_ОТДЕЛЬНЫЙ_КЛЮЧ_*` в Dockge, нажми **Save**, затем **Down** и **Deploy/Up**.
--- ---
@@ -175,59 +186,57 @@ curl -f http://192.168.31.100:8812/livez
curl -f http://192.168.31.100:8813/livez curl -f http://192.168.31.100:8813/livez
``` ```
Проверка авторизации OpenAPI: Проверка OpenAPI для `pve` выполняется с ключом из переменной `PROXMOX_API_KEY` сервиса `proxmox-mcp-pve`:
```bash ```bash
curl -H "Authorization: Bearer ЗАМЕНИТЬ_КЛЮЧ_PVE" \ curl -H "Authorization: Bearer КЛЮЧ_ИЗ_PROXMOX_API_KEY_PVE" \
http://192.168.31.100:8811/health http://192.168.31.100:8811/health
``` ```
Ожидаемый ответ:
```json
{"status":"ok"}
```
--- ---
## Шаг 5. Подключить к Open WebUI ## Шаг 5. Подключить к Open WebUI
В текущем интерфейсе Open WebUI добавление OpenAPI-серверов выполняется не через раздел **Инструменты** и не через кнопку **Новый инструмент**. В Open WebUI перейди по пути:
Используй следующий путь:
```text ```text
Настройки → Интеграции → External Tool Servers → «+» Настройки → Интеграции → External Tool Servers → «+»
``` ```
В открывшейся форме добавь сервер `pve`: Добавь сервер `pve`:
```text ```text
Название: Proxmox pve Название: Proxmox pve
URL: http://192.168.31.100:8811/openapi.json URL: http://192.168.31.100:8811/openapi.json
Авторизация: Bearer Авторизация: Bearer
Токен: значение PROXMOX_API_KEY для proxmox-mcp-pve Токен: значение PROXMOX_API_KEY из сервиса proxmox-mcp-pve в Dockge
``` ```
Нажми **Сохранить**. Добавь сервер `kybinka`:
Затем добавь два остальных сервера:
```text ```text
Название: Proxmox kybinka Название: Proxmox kybinka
URL: http://192.168.31.100:8812/openapi.json URL: http://192.168.31.100:8812/openapi.json
Авторизация: Bearer Авторизация: Bearer
Токен: значение PROXMOX_API_KEY для proxmox-mcp-kybinka Токен: значение PROXMOX_API_KEY из сервиса proxmox-mcp-kybinka в Dockge
``` ```
Добавь сервер `pve1`:
```text ```text
Название: Proxmox pve1 Название: Proxmox pve1
URL: http://192.168.31.100:8813/openapi.json URL: http://192.168.31.100:8813/openapi.json
Авторизация: Bearer Авторизация: Bearer
Токен: значение PROXMOX_API_KEY для proxmox-mcp-pve1 Токен: значение PROXMOX_API_KEY из сервиса proxmox-mcp-pve1 в Dockge
``` ```
Важно: Не используй для авторизации значение `auth.token_value` из `config.json`. Это другой Secret — он нужен MCP-серверу для подключения к Proxmox, а не Open WebUI.
- нажимай «+» именно в строке **External Tool Servers**;
- не используй «+» возле **Open Terminal**;
- не используй **Новый инструмент** на странице пользовательских Tools;
- для каждого сервера указывай отдельный Bearer-токен из compose-файла;
- `PROXMOX_API_KEY` — это ключ OpenAPI-сервера, он отличается от `auth.token_value` в `config.json`.
После сохранения открой новый чат, нажми значок инструментов и включи нужный сервер, например `Proxmox pve`. После сохранения открой новый чат, нажми значок инструментов и включи нужный сервер, например `Proxmox pve`.
@@ -235,7 +244,21 @@ URL: http://192.168.31.100:8813/openapi.json
## Диагностика ## Диагностика
Если появляется ошибка `Insecure TLS configuration blocked`, проверь наличие блока: Если появляется ошибка:
```text
Invalid API key
```
проверь, что Bearer-токен в Open WebUI полностью совпадает с `PROXMOX_API_KEY` соответствующего контейнера в Dockge.
Если появляется ошибка:
```text
Insecure TLS configuration blocked
```
проверь наличие блока:
```json ```json
"security": { "security": {
@@ -245,17 +268,4 @@ URL: http://192.168.31.100:8813/openapi.json
Если появляется `McpError: Connection closed`, сначала ищи выше в логе первичную ошибку конфигурации. Если появляется `McpError: Connection closed`, сначала ищи выше в логе первичную ошибку конфигурации.
Проверка volume-маунта:
```bash
docker inspect proxmox-mcp-pve \
--format '{{range .Mounts}}{{println .Source "->" .Destination}}{{end}}'
```
Ожидаемый результат:
```text
/mnt/ssd/apps/mcp/pve/config.json -> /app/proxmox-config/config.json
```
> Не публикуй реальные значения `PROXMOX_API_KEY` и `auth.token_value` в чат или репозиторий. Если они были опубликованы, их следует заменить. > Не публикуй реальные значения `PROXMOX_API_KEY` и `auth.token_value` в чат или репозиторий. Если они были опубликованы, их следует заменить.