33 — Checklist de teste efetivo e pendências¶
Registro consolidado para não falhar na validação do ambiente completo. Baseado na auditoria da VPS homologação
3.93.232.33em 13/07/2026 + pendências do stack v1.9.0.
Como usar: marque [x] conforme concluir. Execute na ordem Alta → Média → Baixa dentro de cada seção.
Resumo da auditoria (13/07/2026 — atualizado 14/07/2026)¶
| Resultado | Detalhe |
|---|---|
validate-install.sh --external |
29 OK · 3 avisos · 0 falhas |
diagnose-stack.sh --brief |
Core 7/7 + Opcional 4/4 no ar |
| HTTP externo | Portal, Supervisor, Monitor, Webphone, Energy, Issabel → 200 |
| Monitor API | :8090/health → 200 (DLL 13/jul) |
| Base Histórica | :8091/health → 200 · tabelas SQL aplicadas |
| Licença API | :8092/health → 200 · UI /licenca/ |
| Git na VPS | Commit alinhado após pull |
| Scripts | 53 .sh — usar chmod +x após pull |
| Pendências não bloqueantes | AMI CTI, admin SQL bootstrap, senhas padrão homolog |
Stack completa na VPS homolog 3.93.232.33: SQL, CTI, Base Histórica, Supervisor, Portal, Monitor, Webphone, Energy, Licença, Portainer, Issabel.
🔴 ALTA — Bloqueia teste efetivo¶
Sem estes itens, funcionalidades prometidas na v1.9 não validam de verdade.
A1. Monitor API CTI (:8090) — Dashboard /cti/ sem dados¶
Sintoma na VPS: curl :8090/health falha; /api/cti/monitor/snapshot devolve HTML do hub, não JSON.
Causa: LorentzCTI.dll de 09/jun/2026 (sem Monitor API); LORENTZ_CTI_MONITOR_API_KEY ausente no .env; container sem porta 8090 publicada.
⚠️
build-lorentz-cti-zip.shnão roda na VPS — exige../server/LorentzCTI/(monorepo + .NET SDK 9 no PC de dev). Na VPS use sóextract-lorentz-cti-publish.shapós copiar onet9.0.zip.
Passo 1 — Gerar zip no PC de desenvolvimento (Windows/WSL)¶
Estrutura obrigatória:
# No PC (nao na VPS):
cd D:\omnichannel\lorentz-vps-stack # Windows — ou ~/omnichannel/ no WSL
# Exige D:\omnichannel\server\LorentzCTI\ (clone do monorepo omnichannel)
./scripts/build-lorentz-cti-zip.sh
# → resources/net9.0.zip
Se server/LorentzCTI não existir no PC: clone o monorepo omnichannel completo ou copie a pasta server/LorentzCTI do repositório de desenvolvimento antes de compilar.
Passo 2 — Enviar para a VPS¶
PowerShell (Windows) — caminho absoluto; ~ no PowerShell aponta para C:\Users\..., não para D:\omnichannel:
cd D:\omnichannel\lorentz-vps-stack
# Confirme que o zip existe (gitignore — nunca vem do git clone):
Get-Item .\resources\net9.0.zip
scp -i $env:USERPROFILE\.ssh\issabel-key.pem `
.\resources\net9.0.zip `
ubuntu@3.93.232.33:~/omnichannel/lorentz-vps-stack/resources/
Git Bash / WSL:
cd /d/omnichannel/lorentz-vps-stack
scp -i ~/.ssh/issabel-key.pem resources/net9.0.zip \
ubuntu@3.93.232.33:~/omnichannel/lorentz-vps-stack/resources/
SSH: sempre
-i ~/.ssh/issabel-key.pem(nome completo com.pem). Sem chave →Permission denied (publickey).Se
net9.0.zipnão existir no PC, rode o Passo 1 antes — ou obtenha o zip de outro dev / CI. O arquivo está no.gitignoree não é baixado comgit clone.
Passo 3 — Aplicar na VPS¶
- [x] No
.envda VPS — chaves API (defaults do compose funcionam; recomendado personalizar) - [x]
./scripts/render-config.sh - [x]
./scripts/extract-lorentz-cti-publish.sh resources/net9.0.zip - [x]
docker compose up -d --build lorentz-cti - [x] Validar:
curl -fsS http://127.0.0.1:8090/health - [x] Validar:
curl -fsS -H "X-Monitor-Api-Key: ..." http://127.0.0.1:8099/api/cti/monitor/snapshot | head -c 80→ JSON, não<!DOCTYPE - [ ] Abrir
https://orbitall.app/cti/— grid de agentes/dispositivos atualiza (depende AMI + agentes logados)
Doc: 07-lorentz-cti-servidor.md · 15-distribuicao-equipe-suporte.md · 20-portal-orbitall.md
A2. .env incompleto — bloqueia deploy de apps opcionais¶
Sintoma: deploy-lorentz-energy.sh falha com LORENTZ_BASEHISTORICA_API_KEY missing.
Causa: Docker Compose valida todo o arquivo, mesmo com --profile energy.
- [ ] Completar
.enva partir de.env.example: - [ ]
./scripts/render-config.sh - [ ] Confirmar:
grep LORENTZ_BASEHISTORICA .envnão vazio
Doc: 27-instalar-app-opcional-energy.md · 32-instalar-apps-core.md
A3. Scripts na VPS — sincronizar e tornar executáveis¶
Relato: “diagnose-stack.sh e outros scripts não estão na VPS.”
Verificação em 13/07/2026 (SSH 3.93.232.33): os scripts existem em ~/omnichannel/lorentz-vps-stack/scripts/. O erro usual é permissão ou caminho errado, não arquivo ausente.
| Verificação | Resultado esperado |
|---|---|
| Caminho | ~/omnichannel/lorentz-vps-stack ✅ — ~/lorentz-vps-stack não existe |
diagnose-stack.sh |
Arquivo presente (~13 KB) |
Total .sh |
53 scripts |
Permissão após git pull |
-rw-rw-r-- ❌ → precisa chmod +x |
Após chmod +x |
-rwxrwxr-x ✅ — ./scripts/diagnose-stack.sh --brief funciona |
Sintomas vs causa¶
| Sintoma | Causa real | Solução |
|---|---|---|
./scripts/diagnose-stack.sh → Permission denied |
Sem bit +x (git/Windows não preserva) |
chmod +x scripts/*.sh |
./scripts/... → No such file |
Diretório errado | cd ~/omnichannel/lorentz-vps-stack |
| Script “antigo” / doc 27–33 ausente | VPS sem git pull |
git pull origin main |
post-update.sh não encontrado |
Commit local ainda não na VPS | git pull ou sync-stack-to-vps.sh |
Checklist A3¶
- [ ] Caminho correto:
cd ~/omnichannel/lorentz-vps-stack - [ ]
git pull origin main(commit esperado: alinhado comorigin/main) - [ ] Obrigatório após pull:
chmod +x scripts/*.sh - [ ] (Preferencial)
./scripts/post-update.sh— aplica+xem todos os.sh - [ ] Validar presença:
ls scripts/diagnose-stack.sh scripts/lib-compose-env.sh scripts/open-aws-port-8443.sh - [ ] Validar execução:
test -x scripts/diagnose-stack.sh && ./scripts/diagnose-stack.sh --brief - [ ] Alternativa sem
+x:bash scripts/diagnose-stack.sh --brief
Na VPS — copiar e colar¶
cd ~/omnichannel/lorentz-vps-stack
git pull origin main
chmod +x scripts/*.sh
# quando disponível no repo:
# ./scripts/post-update.sh
./scripts/diagnose-stack.sh --brief
./scripts/diagnose-stack.sh --problems
Do PC — sem git pull na VPS¶
# Git Bash / WSL no PC de dev:
./scripts/sync-stack-to-vps.sh -i ~/.ssh/issabel-key.pem ubuntu@3.93.232.33
# Envia stack, preserva .env remoto e roda chmod +x na VPS automaticamente
Docs: scripts/README.md · INSTALACAO-SUPORTE.md §11 (atualizar após git pull)
A4. Senhas padrão em homologação¶
Risco: credenciais de ENTREGA-V1.9 ainda ativas.
- [ ] Trocar
MONITOR_ADMIN_PASSWORDno.env→docker compose up -d monitor - [ ] Trocar senha admin do Supervisor (
8080) - [ ] Trocar
MSSQL_SA_PASSWORDse ainda for exemplo (requer replanejar conexões)
Doc: ENTREGA-V1.9.md · 17-dashboard-monitoramento.md
🟠 MÉDIA — Core incompleto ou integração degradada¶
M1. Base Histórica (lorentz-basehistorica :8091)¶
Status VPS (13/jul 23:35): container healthy · tabelas CTI_BASEHISTORICA_* criadas.
- [x]
./scripts/build-lorentz-basehistorica-zip.sh(dev) - [x] Transferir
basehistorica.zip→ VPS (scp -i ~/.ssh/issabel-key.pem) - [x]
./scripts/extract-lorentz-basehistorica-publish.sh - [x]
./scripts/init-basehistorica-tables.sh - [x]
docker compose up -d --build lorentz-basehistorica - [x]
curl -fsS http://127.0.0.1:8091/health - [ ] UI Supervisor
att_basehistorica.php(repo supervisor) — testar quando disponível
Doc: 32-instalar-apps-core.md#3-base-historica
M2. AMI Asterisk — CTI sem eventos recentes¶
Sintoma: validate-install avisa CTI sem AMI / sem sessões.
- [ ] Revisar
manager_custom.confno Issabel — permitir rede Docker (172.16.0.0/12ou bridge do compose) - [ ] Confirmar
CTI_Impacta_Ip/ AMI user noLorentzCTI.ini - [ ]
./scripts/test-ami.pyou MonitorOPS → Diagnóstico - [ ] Log CTI:
docker logs lorentz-cti --tail 100— eventos AMI
Doc: 09-integracao-e-redes.md · 12-troubleshooting.md
M3. PWA Portal — teste completo em estação Windows¶
Status VPS: HTTPS :8443 responde 200.
- [ ] Security Group: porta 8443 aberta (
./scripts/open-aws-port-8443.sh) - [ ] Estação Windows:
irm http://<IP>:8099/assets/install-portal-cert.ps1 | iex - [ ] Abrir
https://<IP>:8443/— botão ⊕ Instalar App visível - [ ] Instalar PWA e abrir app standalone
M4. Webphone — teste de chamada real¶
Status VPS: container healthy, HTTP 200.
- [ ] Issabel WSS configurado:
./scripts/configure-issabel-wss.sh - [ ] Ramal WebRTC criado no Issabel
- [ ]
WEBRTC_EXTENSION/WEBRTC_PASSWORDno.env→render-config.sh - [ ] Abrir
http://<IP>:8081/— registro SIP + chamada de teste - [ ] Áudio bidirecional OK
Doc: 29-instalar-webphone.md · 14-issabel-webrtc-wss.md
M5. Autostart após reboot¶
- [ ]
sudo ./scripts/install-systemd-stack.sh - [ ]
sudo reboot(janela de manutenção) - [ ] Após voltar:
docker compose ps+ Issabelsystemctl status issabel - [ ]
./scripts/validate-install.sh --external
Doc: 11-operacao-e-manutencao.md
🟡 BAIXA — Opcionais e cosmético¶
B1. Licença API (profile licenca)¶
Status VPS (13/jul 23:35): healthy · UI http://3.93.232.33:8099/licenca/
- [x]
./scripts/extract-lorentz-licenca-publish.sh(licenca.zip já na VPS) - [x]
./scripts/deploy-licenca.sh - [ ]
./scripts/build-lorentz-licenca-zip.sh(dev) — rebuild quando houver release novo - [ ] UI: gerar
.licde teste e validar no CTI/URA
Doc: 30-instalar-licenca.md · 23-plano-licenca-api-linux.md
B2. Portainer (:9443 unhealthy)¶
Sintoma: health unhealthy — timeout de senha admin (não impede uso após restart).
- [ ]
docker restart lorentz-portainer - [ ] Abrir
https://<IP>:9443/em 5 min — criar senha admin - [ ] Restringir SG ao IP da TI
B3. Lorentz Energy — OK na VPS (PHPMaker)¶
Status (14/jul): healthy; login PHPMaker em https://energy.orbitall.app/; MariaDB com dump lorentzenergy.sql.
- [x]
./scripts/deploy-lorentz-energy.sh - [x]
./scripts/import-energy-db.sh - [x] Link hub Orbitall (
energy.orbitall.app) - [ ] Validar fluxo completo de negócio (cadastros, relatórios)
Doc: 27-instalar-app-opcional-energy.md
B4. Supervisor — att_config.php completo + licença Linux¶
Status (14/jul): template ~127 defines; login https://supervisor.orbitall.app/login.php → 200; sem fatals EW_SHOWDIALOG_CENTER / EW_HABILITAR_CLIENTEWEB.
- [x]
config/templates/att_config.php.templatecompleto (merge lab + api + sac_config) - [x] Mount
att_config.php:rwparasac_config.php - [x]
apply-supervisor-host-id-patch.sh+ MacAddress licença (show-stack-host-id.sh) - [x] Patch
att_licenca.phpno git — branchoncoguia-vpsemlorentz-supervisor(commit8b40ceb)
Doc: 08-supervisor-web.md · 16-atualizacao-supervisor-web.md · 12-troubleshooting.md
B5. Tema Issabel lorentzpbx¶
- [ ]
./scripts/deploy-issabel-theme.shou MonitorOPS → Ferramentas - [ ] Limpar cache Smarty se visual não atualizar
Doc: README — seção Tema Issabel
Checklist de teste por app (marque todos)¶
Use após corrigir itens Alta.
| # | App | URL / teste | OK |
|---|---|---|---|
| 1 | SQL Server | docker compose ps sqlserver healthy |
[x] |
| 2 | Lorentz CTI Concentre | TCP :3000 |
[x] |
| 3 | Lorentz CTI Agentes | TCP :8000 |
[x] |
| 4 | Monitor API | curl :8090/health |
[x] |
| 5 | Base Histórica | curl :8091/health |
[x] |
| 6 | Supervisor | http://<IP>:8080/login.php 200 |
[x] |
| 7 | Portal HTTP | http://<IP>:8099/ 200 |
[x] |
| 8 | Portal HTTPS/PWA | https://<IP>:8443/ + Instalar App |
[ ] |
| 9 | CTI Dashboard | /cti/ com dados JSON ao vivo |
[x] API JSON OK · grid ao vivo depende AMI |
| 10 | MonitorOPS | http://<IP>:9090/ login |
[x] |
| 11 | Webphone | http://<IP>:8081/ + chamada |
[ ] |
| 12 | Energy | http://<IP>:8082/ 200 |
[x] |
| 13 | Issabel | https://<IP>/ 200 |
[x] |
| 14 | Issabel SIP | registro ramal / tronco | [ ] |
| 15 | Licença UI | /licenca/ |
[x] |
| 16 | Portainer | https://<IP>:9443/ |
[x] |
Comando único:
Roadmap — não bloqueia homologação atual¶
| Item | Prioridade negócio | Doc |
|---|---|---|
| Licença API Fase 3 (persistência SQL + golden tests) | Média | 23 |
| UI Base Histórica no Supervisor | Média | monorepo att_basehistorica.php |
Domínio orbitall.app + Let's Encrypt |
Média | 22 · 34 |
| Planta B Impacta CSTA | Baixa | 21 |
Publicar docs MkDocs em nginx (site/) |
Baixa | 26 |
Integrar build-docs.sh no pacote dist |
Baixa | 15 |
Commit/push post-update.sh e docs na VPS |
Alta (dev) | git pull na VPS após push |
Ordem de execução recomendada (copiar)¶
# === Na VPS ===
cd ~/omnichannel/lorentz-vps-stack
git pull origin main
chmod +x scripts/*.sh # A3 — obrigatório após pull
# ./scripts/post-update.sh # A3 — equivalente (quando existir no repo)
# 1. .env completo
nano .env # A2 — chaves BASEHISTORICA, MONITOR, LICENCA
# 2. CTI com Monitor API (zip gerado no PC — ver A1)
# NA VPS nao rode build-lorentz-cti-zip.sh (precisa server/LorentzCTI no monorepo)
./scripts/render-config.sh
./scripts/extract-lorentz-cti-publish.sh resources/net9.0.zip
docker compose up -d --build lorentz-cti
# 3. Base Histórica (se zip disponível)
./scripts/extract-lorentz-basehistorica-publish.sh resources/basehistorica.zip
./scripts/init-basehistorica-tables.sh
docker compose up -d --build lorentz-basehistorica
# 4. Opcionais (se ainda não implantados)
./scripts/deploy-webphone.sh
./scripts/deploy-lorentz-energy.sh
./scripts/extract-lorentz-licenca-publish.sh resources/licenca.zip
./scripts/deploy-licenca.sh
./scripts/deploy-portainer.sh
# 5. Validar
./scripts/validate-install.sh --external
./scripts/diagnose-stack.sh --problems
Histórico¶
| Data | Evento |
|---|---|
| 2026-07-13 | Criado após auditoria SSH VPS 3.93.232.33 + consolidação pendências v1.9 |
| 2026-07-13 | Stack completa homolog 3.93.232.33 — core 7/7 + opcionais 4/4; docs alinhados (§6.3 INSTALACAO-SUPORTE, init-basehistorica-tables.sh) |
Avisos restantes (não bloqueiam containers)¶
- AMI Asterisk — CTI sem eventos recentes (
manager_custom.conf) - Bootstrap SQL — usuário admin ausente
- Testes manuais pendentes — PWA
:8443, chamada Webphone, dashboard/cti/com dados ao vivo
Comandos de referência¶
PC (WSL) — builds + envio:
export PATH="$HOME/.dotnet:$PATH"
cd /mnt/d/omnichannel/lorentz-vps-stack
./scripts/build-lorentz-cti-zip.sh
./scripts/build-lorentz-basehistorica-zip.sh
scp -i ~/.ssh/issabel-key.pem resources/{net9.0,basehistorica}.zip \
ubuntu@3.93.232.33:~/omnichannel/lorentz-vps-stack/resources/
VPS — levantar tudo:
cd ~/omnichannel/lorentz-vps-stack
chmod +x scripts/*.sh
./scripts/render-config.sh
./scripts/extract-lorentz-cti-publish.sh resources/net9.0.zip
./scripts/extract-lorentz-basehistorica-publish.sh resources/basehistorica.zip
./scripts/init-basehistorica-tables.sh
docker compose up -d --build
./scripts/deploy-webphone.sh
./scripts/deploy-lorentz-energy.sh
./scripts/extract-lorentz-licenca-publish.sh resources/licenca.zip
./scripts/deploy-licenca.sh
./scripts/validate-install.sh --external
Guia completo: INSTALACAO-SUPORTE.md §6.3 · checklist: docs/33-checklist-teste-ambiente.md