# VM123 — Finance Stack + Ops Console UI | Item | Valor | |------|-------| | **IP LAN** | `10.10.10.123` | | **SSH WAN** | `95.216.14.146:2523` | | **Hostname** | vm123-finance | | **URLs** | `financeiro.ligbox.com.br` · `openpanel.ligbox.com.br` · `console.ligbox.com.br` | ## Papel - **FOSSBilling** (:8092) — billing clientes - **Odoo 16** (:8069) — CRM/finance - **OpenPanel** (:2083) — hosting sites - **Ops Console UI** (Spec 019) — React SPA Docker `:8100` ## No repo Git (CT130) ``` deploy/vm123-finance-stack/ # docker-compose FOSS/Odoo/OpenPanel specs/019-ops-console-active-operations/deploy/ # Template Console UI specs/023-billing-recurrence-desk-visibility/ specs/024-openpanel-fossbilling/ specs/035-ligbox-mail-bundles-foss-openpanel/ # `/admin` gerente specs/037-dns-multi-cloudflare-orchestration/ # DNS Viewer V3 docs/network/VM123_INVENTARIO.md docs/VM123_OPS_CONSOLE_HANDOFF.md ``` ## Serviços Docker (host) | Container | Porta | Função | |-----------|-------|--------| | fossbilling | 8092 | FOSSBilling | | odoo | 8069 | Odoo 16 | | openpanel | 2083 | OpenPanel | | ligbox-ops-console-ui | 8100 | Console Spec 019 + `/admin/dominio` (037) | ## DNS Viewer Console (Spec 037 V3) | Item | Valor | |------|-------| | URL | `https://console.ligbox.com.br/admin/dominio` | | Frontend | `AdminDominio.jsx` + `DnsViewerPanel.jsx` | | API | Proxy Desk `GET /api/v1/domain-console/dns/viewer/{domain}` (VM122) | | Auth | Login Desk → JWT em `localStorage` | Deploy: build em `specs/019-.../deploy/frontend` → `/opt/ligbox-ops-console/frontend`. ## Deploy ```bash # Canónico (repo CT130) cd /opt/ligbox-spec-hub/repos/ligbox-ops-platform/deploy/vm123-finance-modern ./deploy-vm123-full.sh # sync + console build + FINANCE_RELEASE=GREEN ./smoke-vm123.sh # só validação ``` Runtime VM123: `/opt/vm123-finance-stack` · `/opt/ligbox-ops-console` Rule Cursor: `.cursor/rules/vm123-deploy-release.mdc` ## Integração - **← VM122:** API `api.ops.ligbox.com.br` (motor chamados) - **→ Desk:** deep-links FOSS/Odoo/OpenPanel (Spec 023, 027) - **← Traefik CT114:** rotas públicas ## ⚠️ Nota sync Código **runtime** na VM123 (`/opt/vm123-finance-stack`, `/opt/ligbox-ops-console`) deve ser actualizado via **git pull** do CT130 — não estava no sync inicial VM122-only.