Issabel PBX (Docker hostnet)¶
Documentação do deploy Issabel 4 via issabel4-docker, validado na VPS AWS Rocky Linux 9.
Por que deploy separado?¶
Issabel em produção usa network_mode: host para SIP/RTP corretos. Não compartilha o mesmo docker-compose.yml do stack Lorentz.
Pré-requisitos¶
- Docker + Compose instalados (04-docker-e-ferramentas.md)
bsdtar,python3,wget,git- Swap 4 GB recomendado
- Portas 80, 443, 5060, 8089, 10000–10100 livres no host
- ISO ~1,9 GB (download automático)
Deploy automatizado¶
cd ~/lorentz-vps-stack
./scripts/render-config.sh # gera config/runtime/issabel.env
./scripts/deploy-issabel.sh
Tempo estimado: 20–40 min (download ISO + build imagem CentOS 7 + pacotes Issabel).
Deploy manual passo a passo¶
1. Clone do repositório¶
git clone --depth 1 https://github.com/Vasqs/issabel4-docker.git ~/issabel4-docker
cd ~/issabel4-docker
chmod +x scripts/*.sh
2. Configuração¶
cp .issabel-install.conf.example .issabel-install.conf
cp lorentz-vps-stack/config/runtime/issabel.env .env
# ou edite .env manualmente — ISSABEL_SIP_EXTERNAL_ADDRESS = IP público
3. Download ISO¶
wget -c -O issabel4-NIGHTLY-AST18-USB-DVD-x86_64-20211207.iso \
"https://sourceforge.net/projects/issabelpbx/files/Issabel%204/issabel4-NIGHTLY-AST18-USB-DVD-x86_64-20211207.iso/download"
4. Perfil de instalação¶
Perfil padrão: Asterisk 18, módulos reports + endpointconfig.
5. Volumes externos¶
docker volume create issabel_issabel-etc
docker volume create issabel_issabel-var-lib
docker volume create issabel_issabel-var-log
docker volume create issabel_issabel-mysql
docker volume create issabel_issabel-spool
6. Parar conflitos no host¶
7. Deploy produção¶
8. Validar¶
docker ps | grep issabel
./scripts/diagnose.sh
curl -skI https://127.0.0.1/
docker exec issabel-prod asterisk -rx "core show version"
docker exec issabel-prod asterisk -rx "sip show settings"
Acesso web¶
| Item | Valor |
|---|---|
| URL | https://<IP_PUBLICO>/ |
| Usuário | admin (.env → ISSABEL_WEB_ADMIN_USER) |
| Senha | .env → ISSABEL_WEB_ADMIN_PASSWORD |
Certificado HTTPS autoassinado — aceite exceção no navegador.
Webmail (RoundCube)¶
O módulo Webmail usa o RoundCube incluído nos repositórios do Issabel.
Habilitar no deploy automático¶
No .env, defina:
O deploy-issabel.sh chamará scripts/enable-issabel-webmail.sh automaticamente após subir o container.
Habilitar em instalação existente¶
ssh -i ~/.ssh/issabel-key.pem ubuntu@<IP_VPS>
cd ~/omnichannel/lorentz-vps-stack
ISSABEL_CONTAINER=issabel-prod \
ISSABEL_ROUNDCUBE_DB_PASSWORD=ChangeMe_Roundcube2026! \
ISSABEL_SIP_EXTERNAL_ADDRESS=3.93.232.33 \
bash scripts/enable-issabel-webmail.sh
Acesso¶
Configurar servidor IMAP/SMTP¶
Parâmetros principais:
$config['default_host'] = 'ssl://mail.seudominio.com.br';
$config['smtp_server'] = 'tls://mail.seudominio.com.br';
$config['smtp_port'] = 587;
Reinicie o Apache após salvar:
AMI para LorentzCTI¶
Após login no Issabel:
- PBX → Ferramentas → Asterisk Manager Users
- Usuário
admincom permissões read/write - Senha alinhada ao
.env→LORENTZ_CTI_AMI_SECRET(padrão legadoamp111)
Confirme AMI escutando:
Correção firstboot (Call Center opcional)¶
Se o container ficar unhealthy com log call center schema dump not found:
O módulo Call Center exige Asterisk 11; com Asterisk 18 o firstboot falhava. Correção aplicada em issabel4-docker:
# No container — retorno 0 em vez de 1 quando schema CC ausente
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 restart issabel-prod
SIP externo¶
Em .env / firstboot:
ISSABEL_SIP_EXTERNAL_ADDRESS=3.84.135.100
ISSABEL_SIP_LOCALNETS=172.31.0.0/16
ISSABEL_RTP_START=10000
ISSABEL_RTP_END=10100
WebRTC / WSS (Softphone 008)¶
Para agentes no navegador, configure WSS na porta 8089:
cd ~/lorentz-vps-stack
./scripts/open-aws-port-8089.sh
./scripts/configure-issabel-wss.sh --extension 1001 --password SenhaForte
Documentação completa: 14-issabel-webrtc-wss.md
Comandos úteis¶
cd ~/issabel4-docker
./scripts/diagnose.sh
./scripts/down.sh
ISSABEL_COMPOSE_MODE=hostnet ./scripts/up.sh
docker logs issabel-prod -f
Documentação adicional¶
issabel4-docker/README.mdissabel4-docker/docs/operations.md
Próximo passo¶
09-integracao-e-redes.md — conectar LorentzCTI ao AMI.