Ir para o conteúdo

Troubleshooting

Issabel container unhealthy

Sintoma: docker ps mostra (unhealthy), sem httpd/asterisk.

Causa comum: firstboot falha no schema Call Center (Asterisk 18).

Solução:

docker logs issabel-prod 2>&1 | tail -20
# Se "call center schema dump not found":
docker cp ~/issabel4-docker/docker/issabel/rootfs/usr/local/bin/issabel-firstboot issabel-prod:/usr/local/bin/
docker exec issabel-prod sed -i 's/\r$//' /usr/local/bin/issabel-firstboot
docker exec issabel-prod bash /usr/local/bin/issabel-firstboot
docker restart issabel-prod

Porta 80/443 em uso

sudo ss -tlnp | grep -E ':80|:443'

Issabel na VPS (host network): httpd na 443 é esperado até a Fase C. Não pare o Apache do host à mão — use:

cd ~/omnichannel/lorentz-vps-stack
./scripts/apply-phase-c-issabel-https.sh   # Issabel → :8445, libera :443
./scripts/apply-phase-d-caddy.sh           # Caddy + Let's Encrypt

Sintoma: ERR_CERT_AUTHORITY_INVALID / HSTS / cutover Hostinger → 39 — Aprendizado Hostinger (checklist lab→produção + catálogo de incidentes).

Outros serviços (nginx/apache legado fora do Issabel):

sudo systemctl stop httpd nginx

Build Issabel — Permission denied

chmod +x ~/issabel4-docker/scripts/*.sh
bash ~/issabel4-docker/scripts/deploy-production.sh

LorentzCTI não conecta SQL

docker compose logs sqlserver
docker exec lorentz-cti cat /app/LorentzCTI.ini | grep -i sql
# Teste sqlcmd do host na porta 1433

Verifique senha MSSQL_SA_PASSWORD e complexidade Microsoft.

Supervisor — erro SQL / tela branca

docker exec lorentz-supervisor php -m | grep sqlsrv
docker compose logs supervisor

Extensão sqlsrv deve estar carregada (Dockerfile instala).

Supervisor — constante indefinida (fatal error)

Sintoma: Fatal error: Uncaught Error: Undefined constant "EW_SHOWDIALOG_CENTER" (ou EW_HABILITAR_CLIENTEWEB, etc.) em header.php, att_licenca.php ou outras telas.

Causa: config/runtime/att_config.php incompleto — template antigo com ~49 defines; runtime montado sobre ../supervisor/att_config.php.

Solução:

cd ~/omnichannel/lorentz-vps-stack
git pull   # template completo em config/templates/att_config.php.template
./scripts/render-config.sh
docker compose up -d supervisor
grep -c '^define' config/runtime/att_config.php   # ~127
curl -sI http://127.0.0.1:8080/login.php          # HTTP 200

Doc: 08-supervisor-web.md · 16-atualizacao-supervisor-web.md

Supervisor — VOL: not found (licença Linux)

Sintoma: log Apache sh: 1: VOL: not found; licença não valida no container.

Solução:

bash scripts/apply-supervisor-host-id-patch.sh
bash scripts/show-stack-host-id.sh
# Use MacAddress exibido no Gerador de Licença Lorentz
docker compose restart supervisor

Supervisor — sac_config.php não salva

Sintoma: alterações em Configurações (sac_config.php) não persistem ou falham silenciosamente.

Causa: volume att_config.php montado como :ro.

Solução: em docker-compose.yml, mounts devem ser :rw:

- ./config/runtime/att_config.php:/var/www/html/att_config.php:rw

render-config.sh sobrescreve o runtime — alterações via UI duram até o próximo render.

Supervisor não alcança Phoenix

docker exec lorentz-supervisor bash -c 'timeout 2 bash -c "</dev/tcp/lorentz-cti/3000"'
grep EW_PHOENIX config/runtime/att_config.php

AMI — LorentzCTI não recebe eventos

ss -tlnp | grep 5038
docker exec issabel-prod asterisk -rx "manager show settings"
docker exec lorentz-cti bash -c 'timeout 2 bash -c "</dev/tcp/host.docker.internal/5038"'

Confirme Username/Secret no INI = manager.conf.

SIP — sem áudio

  1. Security Group UDP 10000–10100
  2. ISSABEL_SIP_EXTERNAL_ADDRESS = IP público correto
  3. ./scripts/diagnose.sh no issabel4-docker
  4. Modo hostnet ativo (não bridge)

SQL Server container não inicia

  • Senha fraca rejeitada pelo MSSQL
  • RAM insuficiente (mín. ~2 GB para container)
  • Logs: docker logs lorentz-sqlserver

OOM durante build Issabel

  • Adicionar swap 4 GB
  • free -h durante build
  • Build em horário de baixa carga

deploy-production.sh — missing install.env

cd ~/issabel4-docker
python3 ./scripts/resolve-install-profile.py --non-interactive

Volumes Docker externos missing

for v in issabel-etc issabel-var-lib issabel-var-log issabel-mysql issabel-spool; do
  docker volume create issabel_${v}
done

Diagnóstico geral

./scripts/diagnose-stack.sh           # completo — status + runbooks
./scripts/diagnose-stack.sh --problems  # só falhas e correções
./scripts/diagnose-all.sh             # + logs recentes dos containers

Suporte cruzado

Problema Documento
Issabel SIP issabel4-docker/docs/operations.md
Agent login issabel4-docker/docs/call-center-agent-login.md
Supervisor deploy supervisor/docs/DEPLOYMENT.md
Protocolo CTI server/LorentzCTI/docs/documentacao-tecnica.md