Guia Inicio
Instalação
Como configurar o ambiente de desenvolvimento do stCall com Docker.
Instalação
O stCall utiliza Docker para o ambiente de desenvolvimento. Cada componente roda em seu próprio container.
Pré-requisitos
- Docker instalado
- Docker Compose v2+
- Git para clonar os repositórios
Estrutura do Projeto
stcall-project/
├── stCall/ # Frontend Nuxt 3
│ ├── docker-compose.yml # Container do frontend (porta 3000)
│ ├── Dockerfile
│ └── ...
├── websockets-stcall/ # Servidor WebSocket
│ ├── docker-compose.yml # Container WS + PostgreSQL + pgAdmin
│ ├── Dockerfile
│ └── ...
└── docs/ # Esta documentação
├── docker-compose.yml # Container da documentação (porta 3001)
└── ...
Passo 1: Clonar os Repositórios
# Criar diretório do projeto
mkdir stcall-project && cd stcall-project
# Clonar o frontend
git clone <url-do-repositorio-stcall> stCall
# Clonar o servidor WebSocket
git clone <url-do-repositorio-ws> websockets-stcall
Passo 2: Configurar Variáveis de Ambiente
Frontend (stCall)
cd stCall
cp .env.example .env
Edite o arquivo .env com as configurações do seu Asterisk:
# Asterisk
ASTERISK_HOST=<ip-do-asterisk>
ASTERISK_AMI_PORT=5038
ASTERISK_ARI_PORT=8088
ASTERISK_WS_PORT=8088
ASTERISK_USERNAME=<usuario-ari>
ASTERISK_PASSWORD=<senha-ari>
# WebRTC
WEBRTC_WSS_URL=wss://<dominio>:8089/ws
WEBRTC_DOMAIN=<dominio>
WebSocket Server (websockets-stcall)
cd ../websockets-stcall
cp .env.example .env
Edite o arquivo .env:
# Asterisk
ASTERISK_HOST=<ip-do-asterisk>
ASTERISK_PORT=8088
ASTERISK_USERNAME=<usuario-ari>
ASTERISK_PASSWORD=<senha-ari>
ASTERISK_APP_NAME=stCall
# JWT (DEVE ser igual no frontend)
JWT_SECRET=<chave-secreta-compartilhada>
# PostgreSQL
DB_HOST=postgres
POSTGRES_DB=stcall
POSTGRES_USER=stcall_admin
POSTGRES_PASSWORD=<senha-forte>
# FreePBX MySQL
FREEPBX_DATABASE_URL="mysql://user:password@host:3306/asterisk"
# Criptografia SIP
SIP_ENCRYPTION_KEY=<chave-hex-64-caracteres>
O
JWT_SECRETdeve ser idêntico no frontend e no servidor WebSocket. Tokens gerados pelo frontend são validados pelo servidor WS.Passo 3: Iniciar os Containers
WebSocket Server + Banco de Dados
cd websockets-stcall
docker compose up --build -d
Isso inicia:
- stcall-ws na porta
3001- Servidor WebSocket - stcall-postgres na porta
5432- PostgreSQL - stcall-pgadmin na porta
5050- Interface administrativa do banco
Frontend
cd ../stCall
docker compose up --build
Isso inicia:
- stcall-dev na porta
3000- Aplicação Nuxt
Passo 4: Verificar
- Frontend: http://localhost:3000
- Health check do WS: http://localhost:3001/health
- pgAdmin: http://localhost:5050
Portas Utilizadas
| Serviço | Porta | Protocolo |
|---|---|---|
| Frontend (Nuxt) | 3000 | HTTP |
| Nuxt DevTools | 24678 | HTTP |
| WebSocket Server | 3001 | WS |
| PostgreSQL | 5432 | TCP |
| pgAdmin | 5050 | HTTP |
| Asterisk ARI | 8088 | HTTP |
| Asterisk WSS | 8089 | WSS |
| Asterisk RTP | 10000-20000 | UDP |
Desenvolvimento Local sem Docker
Se preferir rodar sem Docker, instale o Bun:
# Frontend
cd stCall
bun install
bun run dev
# WebSocket Server (em outro terminal)
cd websockets-stcall
bun install
bun run dev