Deploying flowcat-server
June 16, 2026 · View on GitHub
flowcat-server runs one agent (defined in a YAML/JSON config) over HTTP —
health probes, a Plivo media WebSocket + answer XML, and, with the webrtc
feature, a browser playground at /. No control plane, no database.
Docker Compose
cp deploy/.env.example deploy/.env # fill the key(s) your topology uses
docker compose -f deploy/docker-compose.yml up --build
- Health:
curl localhost:6210/healthz→{"status":"ok"} - Readiness:
curl localhost:6210/readyz(200 once the topology's provider key is set)
For the browser playground (str0m WebRTC), build the webrtc feature:
FLOWCAT_FEATURES=webrtc docker compose -f deploy/docker-compose.yml up --build
# then open http://localhost:6210/ (set FLOWCAT_WEBRTC_BIND_IP to a reachable host IP)
Without Docker
cargo build --release -p flowcat-server --features webrtc # or just "server"
GOOGLE_API_KEY=… ./target/release/flowcat-server --config deploy/agent.example.yaml
Configuration
- Agent config — see
agent.example.yamland the schema inflowcat-server/src/config.rs(agent graph,realtime/cascadedtopology, transport, bind). - Provider keys come from the environment as
<PROVIDER>_API_KEY(e.g.GOOGLE_API_KEY,DEEPGRAM_API_KEY), the Gemini family also acceptsGOOGLE_API_KEY. Keys are never read from the config file.
The build compiles the full provider connector set, so the build stage needs
protobuf-compiler,cmake, andclang(already installed in the Dockerfile) for the gRPC + local-Whisper connectors. Trim--featuresto speed it up.