Заменил конфигурации в Шаге 2 на команды создания файлов
This commit is contained in:
@@ -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` в чат или репозиторий. Если они были опубликованы, их следует заменить.
|
||||||
|
|||||||
Reference in New Issue
Block a user