# VM123 — Ligbox Ops Console (handoff implementação) **Data:** 2026-06-16 **Roger** · Spec **019** **Status:** Início implementação --- ## Papel da VM123 | Item | Valor | |------|-------| | **Função** | Host **UI only** — Ligbox Ops Console (SPA React) | | **Deploy** | **Docker Compose obrigatório** (VM já tem outros serviços) | | **Path** | `/opt/ligbox-ops-console/` | | **Porta** | `8100` (validar com preflight) | | **URL** | `https://console.ligbox.com.br` (Traefik CT114) | | **API** | `https://api.ops.ligbox.com.br` (VM122 — não corre na 123) | **Não construir na VM123:** API chamados, SQLite, workers, Wazuh, wizard. --- ## O que vai ser construído aqui ```text /opt/ligbox-ops-console/ ├── docker-compose.yml ├── .env ├── frontend/ # React + Vite │ ├── Dockerfile │ └── src/ │ ├── views/ │ │ ├── Overview.jsx │ │ ├── Discover.jsx │ │ ├── ChamadosList.jsx │ │ └── ChamadoHub.jsx ← hub investigação CH-* │ └── components/ │ ├── InvestigationTimeline.jsx │ ├── ObservablesPanel.jsx │ ├── AssistPanel.jsx │ └── WazuhDeepLinkButton.jsx ├── nginx/default.conf └── scripts/ ├── preflight-vm123.sh └── deploy-console.sh ``` --- ## Navegação (hub CH-*) Ver: `specs/019-ops-console-active-operations/design/navigation-ia.md` - **Discover** → entrada; click evento → hub `CH-*` - **Hub** = timeline + observables + assist + infra + runbooks - Deep link Wazuh → VM104 (novo tab) --- ## Legado - `desk.ligbox.com.br` na VM122 **não é alterado** nesta fase - Novo compose **não** faz `docker compose down` global na VM - Cutover só com aprovação Roger --- ## Spec Kit (Obsidian) | Documento | Path | |-----------|------| | Spec | `specs/019-ops-console-active-operations/spec.md` | | Plan | `specs/019-ops-console-active-operations/plan.md` | | Tasks | `specs/019-ops-console-active-operations/tasks.md` | | Deploy template | `specs/019-ops-console-active-operations/deploy/` | | Chat bruto | `LAPTOP/CHAT_BRUTO_OPS_CONSOLE_VM123_SPEC_20260616.txt` | --- ## Comandos deploy ```bash # Copiar templates Spec Kit → VM123 rsync -av /root/obsidian-infra/ligbox-ops-platform/specs/019-ops-console-active-operations/deploy/ \ root@10.10.10.123:/opt/ligbox-ops-console/ ssh root@10.10.10.123 'cd /opt/ligbox-ops-console && cp -n .env.example .env' ssh root@10.10.10.123 'chmod +x /opt/ligbox-ops-console/scripts/*.sh' ssh root@10.10.10.123 '/opt/ligbox-ops-console/scripts/preflight-vm123.sh' ``` --- ## Inventário VM123 (preencher no 1º SSH) | Campo | Valor | |-------|-------| | Hostname | `vm123-finance` | | IP LAN | `10.10.10.123` | | Porta 8100 | **livre** → Console em `127.0.0.1:8100` | | Porta 8092 | **ocupada** — FOSSBilling (não usar) | | Containers existentes | 9 (Odoo, FOSSBilling, OpenPanel, Caddy, …) — **inalterados** | | Console stack | `ligbox-ops-console-ui` (compose isolado) | | Path workspace | `/opt/ligbox-ops-console/` | | Docs no host | `/opt/ligbox-ops-console/docs/` | | SSH LAN | `root@10.10.10.123` | --- ## Dependências outras VMs | Fase | VM | |------|-----| | F3 UI (agora) | **123** | | F1–F2 API hub | 122 | | F5 Assist | 112 | | SOC mail logs | Spec 012 (futuro) |