diff --git a/projects/dttb/ai-assistant-pilot/architecture.md b/projects/dttb/ai-assistant-pilot/architecture.md
index 320c9de..210c3bf 100644
--- a/projects/dttb/ai-assistant-pilot/architecture.md
+++ b/projects/dttb/ai-assistant-pilot/architecture.md
@@ -17,11 +17,12 @@ aliases: [архитектура коробки Александра, umnybot ar
```mermaid
flowchart TB
- user([Интернет]) -->|"https://umnybot.ru"| dns["DNS umnybot.ru → 158.255.0.139"]
+ user([Интернет]) -->|"https://umnybot.ru"| dns["DNS *.umnybot.ru → 158.255.0.139"]
+ user -->|"https://pve.umnybot.ru
(Basic Auth oleg)"| dns
dns --> vps
subgraph VPSGW ["VPS-шлюз · vm-nano · 158.255.0.139 (статичный) · NetBird 100.70.127.23"]
- vps["jc21 NPM :443
LE-серт"]
+ vps["jc21 NPM :443 · LE-серты
Basic Auth для pve"]
end
vps ==>|"NetBird → 100.70.90.103:80"| boxnpm
@@ -29,6 +30,7 @@ flowchart TB
subgraph BOX ["Коробка Александра · Proxmox pve-147 (192.168.1.247) · LAN 192.168.1.0/24"]
boxnpm["LXC101 «npm» · 192.168.1.221
NetBird 100.70.90.103 (alex-npm)"]
boxnpm ==>|"Host umnybot.ru"| swarm["LXC103 SwarmClaw
192.168.1.71:3456"]
+ boxnpm ==>|"Host pve.umnybot.ru"| host["Proxmox UI
host:8006"]
boxnpm -.->|"omni (internal)"| omni["LXC102 OmniRoute :20128
NetBird 100.70.186.192"]
boxnpm -.->|"cloud (internal)"| fb["LXC105 filebrowser :8082"]
boxnpm -.->|"alex (internal)"| hp["LXC105 Homepage :3001"]
@@ -37,18 +39,17 @@ flowchart TB
zima["VM100 ZimaOS — STOPPED
(не используется)"]
end
- oleg([Олег / админ]) -.->|"NetBird → LXC102 → ssh host"| host["Proxmox UI :8006"]
- oleg -.->|"NetBird"| omni
+ oleg([Олег / админ]) -.->|"NetBird"| omni
classDef pub fill:#1f6f43,stroke:#0a3,color:#fff
classDef int fill:#333,stroke:#888,color:#ddd
classDef off fill:#5a1a1a,stroke:#a33,color:#fcc
- class vps,boxnpm,swarm pub
+ class vps,boxnpm,swarm,host pub
class omni,fb,hp,git,bot int
class zima off
```
-Сплошные стрелки (`==>`) — **публичный** путь (`umnybot.ru`). Пунктир (`-.->`) — только **внутри** по NetBird.
+Сплошные стрелки (`==>`) — **публичный** путь (`umnybot.ru`; `pve.umnybot.ru` — за Basic Auth). Пунктир (`-.->`) — только **внутри** по NetBird.
## Хосты и сеть
@@ -80,11 +81,11 @@ flowchart TB
| `cloud.umnybot.ru` | 🔒 internal | filebrowser (105:8082) | NetBird → NPM коробки |
| `alex.umnybot.ru` | 🔒 internal | Homepage (105:3001) | NetBird → NPM коробки |
| `git.umnybot.ru` | 🔒 internal | Gitea (104:3000) | NetBird → NPM коробки |
-| `pve.umnybot.ru` | 🔒 internal | Proxmox UI (host:8006) | NetBird (гипервизор наружу НЕЛЬЗЯ) |
+| **`pve.umnybot.ru`** | 🌐 ПУБЛИЧНО + **Basic Auth** (`oleg`) | Proxmox UI (host:8006) | VPS NPM (LE id18, access-list `pve-basic-auth`) → NetBird → NPM коробки → Proxmox. ⚠️ root-пароль Proxmox слабый — сменить/2FA |
| ~~zima/tg/rustdesk/plex/ha/oc/qbit/term~~ | удалены | были апки ZimaOS | VM100 не используется |
| `ai.umnybot.ru` | — | домашний openclaw Олега (`10.0.0.239`) | не относится к коробке |
-> На VPS NPM публично сейчас — **только `umnybot.ru`**. Остальные домены сняты с VPS; их бэкенды доступны по NetBird/LAN.
+> На VPS NPM публично сейчас — **`umnybot.ru`** (SwarmClaw) и **`pve.umnybot.ru`** (Proxmox за Basic Auth). Остальные домены сняты с VPS; их бэкенды доступны по NetBird/LAN.
## Доступ для управления
@@ -117,4 +118,5 @@ sshpass -p '1qaz!QAZ' ssh root@192.168.1.247 # → хост pve
2. ZimaOS (VM100) выведен из работы; подняты filebrowser+Homepage на новом LXC105.
3. Публичный доступ переведён с прямого проброса Cudy (откатан) на VPS-шлюз `158.255.0.139` по NetBird.
4. NetBird добавлен на NPM коробки (LXC101 = `100.70.90.103`).
-5. `umnybot.ru` → SwarmClaw публично; остальное (omni/cloud/alex/git/pve) — internal; 8 ZimaOS-доменов + `ai` удалены с VPS.
+5. `umnybot.ru` → SwarmClaw публично; остальное (omni/cloud/alex/git) — internal; 8 ZimaOS-доменов + `ai` удалены с VPS.
+6. `pve.umnybot.ru` → Proxmox UI публично **за Basic Auth** (`oleg`, access-list `pve-basic-auth`) + LE-серт id18. Креды — в [[credentials]].
diff --git a/projects/dttb/ai-assistant-pilot/credentials.md b/projects/dttb/ai-assistant-pilot/credentials.md
index 5d78ad3..e443a6e 100644
--- a/projects/dttb/ai-assistant-pilot/credentials.md
+++ b/projects/dttb/ai-assistant-pilot/credentials.md
@@ -199,9 +199,13 @@ status: active
| NPM коробки (LXC101) | теперь в NetBird: **`100.70.90.103`** (`alex-npm.netbird.cloud`), setup-key Benelux. VPS бьёт сюда, NPM коробки роутит внутрь (cloud→105:8082, alex→105:3001, omni→102:20128) |
| LXC 105 «alex-apps» | filebrowser (облако, `:8082`, admin/`App5870w`) + Homepage (дашборд, `:3001`), `/data` на HDD |
-**Публично сейчас (2026-06-17, финал):** на VPS NPM остался **ТОЛЬКО `umnybot.ru`** → SwarmClaw (LXC103 `192.168.1.71:3456`, через NPM коробки id9). DDNS НЕ нужен — DNS на статичный VPS, динамика WAN неважна.
+**Публично сейчас (2026-06-17, финал):**
+- **`umnybot.ru`** → SwarmClaw (LXC103 `192.168.1.71:3456`, через NPM коробки id9). Открыто.
+- **`pve.umnybot.ru`** → Proxmox UI (host `192.168.1.247:8006`) **за Basic Auth** на VPS NPM: **`oleg` / `Pve!Umny5870wX`** (access-list `pve-basic-auth` id1), потом обычный логин Proxmox. Серт LE id18. ⚠️ **root-пароль Proxmox слабый (`1qaz!QAZ`) — сменить и/или включить 2FA в Proxmox** (Basic Auth — только заслонка от брутфорса).
-**Всё остальное — internal (по NetBird/LAN, не публично):** `omni` (OmniRoute 102:20128), `cloud` (filebrowser 105:8082), `alex` (Homepage 105:3001), `git` (Gitea 104:3000), `pve` (Proxmox UI host:8006). Снято с VPS NPM: эти + 8 доменов ZimaOS (`zima/tg/rustdesk/plex/ha/oc/qbit/term`) + `ai`→10.0.0.239 (домашний openclaw Олега, не коробка).
+DDNS НЕ нужен — DNS на статичный VPS, динамика WAN неважна.
+
+**Остальное — internal (по NetBird/LAN, не публично):** `omni` (OmniRoute 102:20128), `cloud` (filebrowser 105:8082), `alex` (Homepage 105:3001), `git` (Gitea 104:3000). Снято с VPS NPM: эти + 8 доменов ZimaOS (`zima/tg/rustdesk/plex/ha/oc/qbit/term`) + `ai`→10.0.0.239 (домашний openclaw Олега, не коробка).
**Сервисы на коробке:** SwarmClaw (103:3456), OmniRoute (102:20128), Gitea (104:3000), filebrowser (105:8082), Homepage (105:3001), Proxmox UI (host:8006), бот Алекс (102, Telegram). VM100 ZimaOS — stopped (не используется, заменён Docker-апками на 105).