Заменил конфигурации в Шаге 2 на команды создания файлов

This commit is contained in:
2026-08-05 20:22:19 +03:00
parent 165b0f8f52
commit 2e0b1e67d3
+21 -32
View File
@@ -15,9 +15,8 @@
На каждом Proxmox-сервере отдельно открой **Datacenter → Permissions → API Tokens** и создай токен. На каждом Proxmox-сервере отдельно открой **Datacenter → Permissions → API Tokens** и создай токен.
- User: `root@pam`; - User: `root@pam`;
- Token ID: например `openwebui-token`; - Token ID должен точно совпадать со значением `auth.token_name`;
- сохрани Secret, который показывается только один раз; - сохрани Secret, который показывается только один раз.
- Token ID должен точно совпадать со значением `auth.token_name` в конфигурации.
Повтори операцию для `kybinka` и `pve1`. Повтори операцию для `kybinka` и `pve1`.
@@ -25,14 +24,6 @@
## Шаг 2. Подготовить конфиги на TrueNAS ## Шаг 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 ```bash
@@ -43,7 +34,8 @@ mkdir -p /mnt/ssd/apps/mcp/{pve,kybinka,pve1}
### Конфигурация `pve` ### Конфигурация `pve`
```json ```bash
cat > /mnt/ssd/apps/mcp/pve/config.json << 'EOF'
{ {
"proxmox": { "proxmox": {
"host": "192.168.31.2", "host": "192.168.31.2",
@@ -62,13 +54,13 @@ mkdir -p /mnt/ssd/apps/mcp/{pve,kybinka,pve1}
"dev_mode": true "dev_mode": true
} }
} }
EOF
``` ```
Сохрани этот JSON в `/mnt/ssd/apps/mcp/pve/config.json`.
### Конфигурация `kybinka` ### Конфигурация `kybinka`
```json ```bash
cat > /mnt/ssd/apps/mcp/kybinka/config.json << 'EOF'
{ {
"proxmox": { "proxmox": {
"host": "192.168.1.10", "host": "192.168.1.10",
@@ -87,13 +79,13 @@ mkdir -p /mnt/ssd/apps/mcp/{pve,kybinka,pve1}
"dev_mode": true "dev_mode": true
} }
} }
EOF
``` ```
Сохрани этот JSON в `/mnt/ssd/apps/mcp/kybinka/config.json`.
### Конфигурация `pve1` ### Конфигурация `pve1`
```json ```bash
cat > /mnt/ssd/apps/mcp/pve1/config.json << 'EOF'
{ {
"proxmox": { "proxmox": {
"host": "192.168.31.4", "host": "192.168.31.4",
@@ -112,11 +104,10 @@ mkdir -p /mnt/ssd/apps/mcp/{pve,kybinka,pve1}
"dev_mode": true "dev_mode": true
} }
} }
EOF
``` ```
Сохрани этот JSON в `/mnt/ssd/apps/mcp/pve1/config.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
@@ -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 python3 -m json.tool /mnt/ssd/apps/mcp/pve1/config.json
``` ```
Ограничь доступ к файлам с токенами: Ограничь права доступа к файлам с токенами:
```bash ```bash
chmod 600 /mnt/ssd/apps/mcp/{pve,kybinka,pve1}/config.json 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 ## Шаг 3. Запустить три контейнера через Dockge
В Dockge создай один Stack с именем `proxmox-mcp`, рабочая директория: В Dockge создай один Stack с именем `proxmox-mcp` и рабочей директорией:
```text ```text
/mnt/ssd/apps/mcp /mnt/ssd/apps/mcp
``` ```
Вставь в редактор Dockge **один** compose-файл: Вставь в редактор Dockge один compose-файл:
```yaml ```yaml
services: services:
@@ -180,9 +171,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:` подряд. `networks: {}` не требуется — Compose создаст сеть автоматически. Не добавляй несколько блоков `services:` подряд. Нажми **Save**, затем **Down** и **Deploy/Up**. После изменения JSON-файлов контейнеры нужно перезапустить или пересоздать.
Замени `ЗАМЕНИТЬ_КЛЮЧ_*` на отдельные ключи для OpenAPI-доступа, нажми **Save**, затем **Down** и **Deploy/Up**. После изменения JSON-файлов контейнеры нужно перезапустить или пересоздать.
--- ---
@@ -217,13 +206,13 @@ curl -H "Authorization: Bearer ЗАМЕНИТЬ_КЛЮЧ_PVE" \
## Диагностика ## Диагностика
Если в логе появляется: Если появляется ошибка:
```text ```text
Insecure TLS configuration blocked Insecure TLS configuration blocked
``` ```
проверь, что внутри контейнера присутствует именно такая структура: проверь, что внутри каждого файла присутствует:
```json ```json
"security": { "security": {
@@ -231,7 +220,7 @@ Insecure TLS configuration blocked
} }
``` ```
Проверка маунта: Проверка volume-маунта:
```bash ```bash
docker inspect proxmox-mcp-pve \ 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 закрывается после ошибки валидации конфигурации. `McpError: Connection closed` является вторичной ошибкой: MCP OpenAPI Proxy закрывается после ошибки валидации конфигурации.
> Никогда не публикуй в чат или репозиторий реальные значения `PROXMOX_API_KEY` и `auth.token_value`. Если ключи уже были опубликованы, их следует заменить. > Не публикуй реальные значения `PROXMOX_API_KEY` и `auth.token_value` в чат или репозиторий. Если они были опубликованы, их следует заменить.