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

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

Portas Utilizadas

ServiçoPortaProtocolo
Frontend (Nuxt)3000HTTP
Nuxt DevTools24678HTTP
WebSocket Server3001WS
PostgreSQL5432TCP
pgAdmin5050HTTP
Asterisk ARI8088HTTP
Asterisk WSS8089WSS
Asterisk RTP10000-20000UDP

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
Copyright © 2026