8.5 KiB
date, type, tags, aliases
| date | type | tags | aliases | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-06-17 | reference |
|
|
🏗️ Архитектура «Умного сервера» Александра (umnybot)
Авторитетная карта коробки после переезда к Александру (2026-06-17). Секреты — в credentials. Пилот/контекст — память
project_alexandr_assistant, ../../benilux/credentials.
Кратко
«Консьерж в коробке» — Proxmox-нода у Александра (КП Бенелюкс), переехала из LAN Олега 10.0.0.0/24 в сеть Александра 192.168.1.0/24 (2026-06-17). Интерфейс клиента — бот Алекс в Telegram + SwarmClaw на https://umnybot.ru. Публичный доступ — через статичный VPS-шлюз по NetBird (WAN Александра динамический, на него вешать DNS нельзя).
Топология
flowchart TB
user([Интернет]) -->|"https://umnybot.ru"| dns["DNS *.umnybot.ru → 158.255.0.139"]
user -->|"https://pve.umnybot.ru<br/>(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-серты<br/>Basic Auth для pve"]
end
vps ==>|"NetBird → 100.70.90.103:80"| boxnpm
subgraph BOX ["Коробка Александра · Proxmox pve-147 (192.168.1.247) · LAN 192.168.1.0/24"]
boxnpm["LXC101 «npm» · 192.168.1.221<br/>NetBird 100.70.90.103 (alex-npm)"]
boxnpm ==>|"Host umnybot.ru"| swarm["LXC103 SwarmClaw<br/>192.168.1.71:3456"]
boxnpm ==>|"Host pve.umnybot.ru"| host["Proxmox UI<br/>host:8006"]
boxnpm -.->|"omni (internal)"| omni["LXC102 OmniRoute :20128<br/>NetBird 100.70.186.192"]
boxnpm -.->|"cloud (internal)"| fb["LXC105 filebrowser :8082"]
boxnpm -.->|"alex (internal)"| hp["LXC105 Homepage :3001"]
boxnpm -.->|"git (internal)"| git["LXC104 Gitea :3000"]
bot["LXC102 openclaw «Алекс»<br/>→ Telegram @alex_umny_bot"]
zima["VM100 ZimaOS — STOPPED<br/>(не используется)"]
end
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,host pub
class omni,fb,hp,git,bot int
class zima off
Сплошные стрелки (==>) — публичный путь (umnybot.ru; pve.umnybot.ru — за Basic Auth). Пунктир (-.->) — только внутри по NetBird.
Хосты и сеть
| Узел | Адрес | NetBird | Роль |
|---|---|---|---|
| Proxmox pve-147 (хост) | 192.168.1.247 static (+резерв Cudy), gw .1 |
нет (джамп через LXC102) | гипервизор, Web UI :8006 |
| Cudy TR3000 (роутер Александра) | LAN 192.168.1.1, WAN 45.143.21.60 динамич. (dhcp) |
100.70.207.97 |
шлюз сети Александра |
| VPS-шлюз vm-nano | 158.255.0.139 (статичный, Ubuntu 22.04) |
100.70.127.23 |
публичный фронт, jc21 NPM + LE |
Контейнеры / VM
| ID | Имя | IP (LAN) | NetBird | Сервис | Порт |
|---|---|---|---|---|---|
| LXC 101 | npm | 192.168.1.221 |
100.70.90.103 (alex-npm) |
jc21 NPM (внутр. роутер коробки) | 80/81/443 |
| LXC 102 | assistant | 192.168.1.154 |
100.70.186.192 (alex-assistant) |
openclaw «Алекс» + OmniRoute + Postgres | TG, 20128, 5432 |
| LXC 103 | swarmclaw | 192.168.1.71 |
— | SwarmClaw (UI на umnybot.ru) | 3456 |
| LXC 104 | gitea | 192.168.1.96 |
— | Gitea | 3000 |
| LXC 105 | alex-apps | 192.168.1.14 (резерв) |
— | Docker: filebrowser (облако) + Homepage (дашборд) | 8082, 3001 |
| VM 100 | Zima | — | — | ZimaOS — stopped, не используется (KVM/VT-x слетел, заменён Docker-апками на 105) | — |
Все контейнеры — ip=dhcp (резервации MAC→IP на Cudy для хоста .247 и apps .14). NetBird-агенты на 101/102 — autostart enabled.
Домены и доступ
| Домен | Доступ | Бэкенд | Через |
|---|---|---|---|
umnybot.ru |
🌐 ПУБЛИЧНО | SwarmClaw (103:3456) | VPS NPM → NetBird → NPM коробки (id9) |
omni.umnybot.ru |
🔒 internal | OmniRoute (102:20128) | NetBird (напрямую 100.70.186.192:20128) |
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 |
🌐 ПУБЛИЧНО + Basic Auth (oleg) |
Proxmox UI (host:8006) | VPS NPM (LE id18, access-list pve-basic-auth) → NetBird → NPM коробки → Proxmox. ⚠️ root-пароль Proxmox слабый — сменить/2FA |
| удалены | были апки ZimaOS | VM100 не используется | |
ai.umnybot.ru |
— | домашний openclaw Олега (10.0.0.239) |
не относится к коробке |
На VPS NPM публично сейчас —
umnybot.ru(SwarmClaw) иpve.umnybot.ru(Proxmox за Basic Auth). Остальные домены сняты с VPS; их бэкенды доступны по NetBird/LAN.
Доступ для управления
# Хост Proxmox (нет своего NetBird → джамп через LXC102):
ssh -i ~/.ssh/id_ed25519 root@100.70.186.192 # LXC102 assistant (NetBird)
sshpass -p '1qaz!QAZ' ssh root@192.168.1.247 # → хост pve
# pct exec <id> -- ... для любого контейнера
# NPM коробки (внутр. роутер): http://192.168.1.221:81 или http://100.70.90.103:81
# VPS-шлюз: ssh root@158.255.0.139 ; NPM http://158.255.0.139:81
# OmniRoute (internal): http://100.70.186.192:20128
# Web UI Proxmox: ssh -L 8006:192.168.1.247:8006 root@100.70.186.192
Креды (root-пароли, NPM-логины, токены) — credentials.
Ключевые факты / грабли
- WAN Александра динамический (
dhcp, аренда 24ч) → DNS на него вешать нельзя. Поэтому публичный доступ только через статичный VPS-шлюз. DDNS не нужен. - Хост без NetBird → управление джампом через LXC102. Стоящий TODO: поставить NetBird на сам хост.
- NetBird на NPM коробки (LXC101) =
100.70.90.103— единственная точка, куда бьёт VPS; NPM коробки роутит по Host-заголовку на внутренние бэкенды. - ZimaOS (VM100) убран — заменён Docker-апками (filebrowser+Homepage) на LXC105; виртуализация (VT-x) больше не нужна.
- Сторож Антошки (LXC137) ходит к коробке по NetBird → LXC102 (см. credentials).
- Бэкап старого netconfig хоста:
/root/interfaces.bak-alexmoveна pve.
История изменений (2026-06-17)
- Переезд хоста
10.0.0.147→192.168.1.247; контейнеры на DHCP сами переехали на192.168.1.x. - ZimaOS (VM100) выведен из работы; подняты filebrowser+Homepage на новом LXC105.
- Публичный доступ переведён с прямого проброса Cudy (откатан) на VPS-шлюз
158.255.0.139по NetBird. - NetBird добавлен на NPM коробки (LXC101 =
100.70.90.103). umnybot.ru→ SwarmClaw публично; остальное (omni/cloud/alex/git) — internal; 8 ZimaOS-доменов +aiудалены с VPS.pve.umnybot.ru→ Proxmox UI публично за Basic Auth (oleg, access-listpve-basic-auth) + LE-серт id18. Креды — в credentials.