Where to start
Services
Ten containers, five Python packages.apps/api alone runs as three containers off one image.
- Overview — containers, ports, start-up order, who talks to whom
- API — routers, service layer, persistence, lifecycle
- Runtime — the answer webhook and the Pipecat pipeline
- Providers — the registry that makes vendors pluggable
- Telephony — carrier clients, answer XML, frame serializers
- Workers and orchestrator — ARQ jobs and campaign scheduling
Model server
Optional. Run STT, TTS, and LLM on your own hardware behind one gateway on:8100.
- Model server — the section index
- Slots and models — swap a model with one line
- Running on GPUs — device selection, MPS, caching
Contributing
- Local setup · Repository layout
- Adding an AI provider · Adding a telephony provider
- Testing — the five suites and what each protects
- Contributing — branches, commits, pull requests
There is no CI. Run the test suites yourself before opening a pull request — Testing lists all five and what each needs.
Configuration reference
- Environment variables — the single root
.env, annotated - Ports and defaults — published versus internal
- Data model — collections, fields, enums, indexes
- Agent configuration — the full
configcontract
Dashboard
The Next.js dashboard is part of the Compose stack, on port 3000. Its container runs the Next.js development server, so build it properly before exposing it. See Dashboard.