Documentation Index
Fetch the complete documentation index at: https://docs.spn.wtf/llms.txt
Use this file to discover all available pages before exploring further.
Docker Compose Services
docker-compose.yml defines:
| Service | Command |
|---|---|
db | PostgreSQL 16 |
agent | ${AGENT_START_CMD:-python agent_realtime.py start} |
lead_fetcher | python lead_fetcher.py |
scheduler | python scheduler.py |
dashboard | streamlit run streamlit_app.py --server.port 8501 --server.address 0.0.0.0 |
web | python token_server.py |
Start
Database URL In Docker
Use the Compose service hostname:Choosing Agent Mode
Default Compose command starts OpenAI Realtime:Dashboard Port
The dashboard is bound to localhost:EC2
The repository includes:deploy_ec2.shEC2_DEPLOY.md
- Provision an EC2 instance with Docker and Docker Compose.
- Clone the repository.
- Create
.envwith production secrets. - Confirm security-group inbound rules for dashboard/webhook access as needed.
- Run
docker compose up --build -d. - Check logs with
docker compose logs -f. - Verify
python sip_setup.py listagainst the same LiveKit project before live calling.
Production Checklist
.envcontains real LiveKit, Vobiz, database, and model credentials.LIVEKIT_SIP_TRUNK_IDis the outbound trunk ID.CALL_WHITELIST_NUMBERSis empty only when live calling is intended.CALL_ALLOWED_WEEKDAYS,CALL_HOURS_START, andCALL_HOURS_ENDmatch calling policy.MAX_CONCURRENT_CALLSis set to an approved value.- Dashboard is protected by network rules or auth controls.
- Facebook webhook URL is public and uses HTTPS in production.
- Database volume backups are configured.
- Logs do not expose API keys or sensitive qualification data.