Dograh: a self-hosted voice AI platform for teams that want to own the stack
Open source voice AI platform. Self-hosted alternative to Vapi and Retell. On Prem, BYOK across Speech to Speech or LLM/STT/TTS, with a visual workflow builder, MCP native and telephony support.
At a glance
- What is it?
- Dograh is a BSD-2-Clause voice agent platform you run yourself, with a visual workflow builder, MCP support and bring-your-own speech stack. It is a credible Vapi and Retell alternative for teams with infrastructure, and overkill for anyone who just wants a hosted phone bot.
- Who is it for?
- Adopt Dograh if you have Docker capacity, telephony knowledge and a reason to keep call audio and transcripts on your own infrastructure; the BSD-2-Clause licence and the one-command self-host path make that decision reversible. Skip it if you want a managed phone number and a support contract, because the project ships software, not a service, and the README does not document rollback or backup procedures.
- Can I use it commercially?
- Yes. BSD-2-Clause is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The problem Dograh targets: voice agents you cannot audit or move
Hosted voice agent platforms bill per minute and keep the call audio. For a support line that is fine. For a bank, a clinic or a European team with data residency obligations, it is a blocker that no amount of dashboard polish fixes. Dograh's pitch is that the whole platform runs on your own machine or server, so the recordings, transcripts and prompts never leave infrastructure you control.
The README states the positioning directly: "The open-source, self-hostable alternative to Vapi & Retell." The comparison table in the repository lists Vapi and Retell as proprietary and SaaS-only, with Dograh under BSD 2-Clause and self-hostable via a single Docker command. The audience is therefore not the person who wants a phone bot by Friday. It is the engineer or platform team who has already been asked why customer call data sits in a third party's cloud, and who is willing to run Postgres, Redis and a container stack to answer that question.
A second audience exists: teams that want to swap the speech stack. The repository topics include local-llm, speech-to-speech, speech-to-text and text-to-speech, and the README claims bring-your-own LLM, STT or TTS, or use of Dograh's own stack. That matters when a vendor's transcription quality is fine in English and poor in your actual language mix.
How the pieces fit: containers, a workflow graph and an MCP surface
The repository is a Python project. Top-level entries include api/, ui/, sdk/, config/, deploy/, nginx/, scripts/, evals/ and examples/ with python/ and typescript/ subfolders. The docker-compose.yaml defines the runtime: postgres uses the pgvector/pgvector:pg17 image, redis uses redis:7 with a password from REDIS_PASSWORD defaulting to redissecret, and both are health-checked before dependent services start. Postgres on pgvector rather than plain Postgres is a deliberate signal: the platform stores embeddings, which is what you would expect from a system that does retrieval over knowledge for an agent.
The compose file carries a warning worth reading twice. Its header comment says the stack is "driven by the helper scripts, not by a bare docker compose up", and that running docker compose up against a fresh checkout will fail or come up misconfigured because OSS_JWT_SECRET is required. A dograh-init service renders nginx and coturn configuration for the remote and TURN profiles. In other words, the compose file is an output of the setup scripts, not an entry point. That is a defensible design for a multi-profile deployment, and it also means anyone who copies the compose file into their own orchestration has to reproduce the init step themselves.
On the agent side, the README describes a visual workflow builder for assembling voice agents, testing them, and letting AI coding assistants design and edit them through MCP. The repository ships AGENTS.md and CLAUDE.md at the root and a .agents/ directory, which is consistent with that claim: the project is set up so coding agents can read its conventions. Telephony appears through the asterisk-ari topic and the coturn configuration in the stack, so inbound and outbound calls run through your own PBX rather than a vendor's number provisioning.
Self-hosting Dograh: the documented first run
The README gives one command for a local install. It downloads the compose file and the start script, makes the script executable and runs it. According to the README, first startup may take two to three minutes to download all images.
curl -o docker-compose.yaml https://raw.githubusercontent.com/dograh-hq/dograh/main/docker-compose.yaml && curl -o start_docker.sh https://raw.githubusercontent.com/dograh-hq/dograh/main/scripts/start_docker.sh && chmod +x start_docker.sh && ./start_docker.shBefore running it, decide about telemetry. The README states that anonymous usage data is collected and that you can opt out by setting ENABLE_TELEMETRY=false before running the startup script.
export ENABLE_TELEMETRY=falseWhen the stack is up, open http://localhost:3010 in a browser. The README's first-bot walkthrough is: pick Inbound or Outbound, name the bot (the example given is Lead Qualification), and continue in the UI. For a remote server the README points to the documentation's Docker deployment page, which describes a remote path using setup_remote.sh followed by remote_up.sh, both present in the repository root.
If you use Claude Code or Codex, the README points at a separate plugin repository, dograh-hq/dograh-plugins, which installs a setup skill that detects the OS and runs Dograh's own scripts. Those plugin commands are quoted in the README as Claude Code slash commands, not shell commands, so do not paste them into a terminal.
/plugin marketplace add dograh-hq/dograh-plugins
/plugin install dograh@dograhWhere Dograh will frustrate you
The compose file's own header is the first honest limitation: a bare docker compose up on a fresh checkout fails, because OSS_JWT_SECRET must exist. There is no documented single-binary path and no mention of Kubernetes manifests in the repository listing, so the deployment story is Docker Compose with helper scripts, full stop.
The Postgres password note is the second. The compose file states that changing POSTGRES_PASSWORD on an existing install does not re-key the database, because the password is baked into the volume on first init, and that you must change it manually with psql inside the container. Anyone who rotates secrets by editing .env and restarting will believe they rotated the database password and will not have. That is a real operational trap, and it is documented only as a comment in a YAML file.
The README does not document backup, restore or rollback procedures, and it does not describe what happens to in-flight calls during an upgrade. The release history shows frequent version bumps (dograh-v1.44.0 on 2026-08-01, dograh-v1.45.0 on 2026-08-11, dograh-v1.46.0 on 2026-09-03), which is good for fixes and bad for anyone who wants a quiet platform. If your requirement is a managed phone number with a support contract and an SLA, Dograh is the wrong tool: you are the operator now.
One more caveat sits in the repository layout. pipecat appears as a top-level entry and .gitmodules is present, so pipecat is a submodule. The README does not explain what the platform does when that submodule is absent or out of date, and a recursive clone is not mentioned in the install command as quoted.
Dograh vs LiveKit and the hosted platforms
The obvious comparison is Vapi and Retell, and the README makes it in a table: both are proprietary and SaaS-only, Dograh is BSD 2-Clause and self-hostable. The practical difference is who holds the recording and who is paged at 3am. With Vapi or Retell, the vendor runs the media path and you configure within their integrations. With Dograh, the media path is your containers, your Postgres and your Redis, and your on-call rotation.
A more interesting comparison is LiveKit, which people search for alongside Dograh. LiveKit is a realtime media infrastructure project: you build the agent loop and the orchestration yourself on top of its rooms and SDKs. Dograh sits a layer above that. It ships the workflow builder, the agent configuration model, the database schema and the telephony wiring as a product, so the work you skip is the orchestration layer, not the transport. If your team already has a LiveKit deployment and a custom agent harness, Dograh duplicates much of what you built. If you have neither, Dograh gives you a starting point that LiveKit does not pretend to be.
The licence difference also cuts both ways. BSD 2-Clause permits commercial use and modification with minimal conditions, and the README's claim that source-level customization is possible follows from that. It also means there is no copyleft forcing downstream improvements back into the project, so a fork can drift without contributing anything upstream. Read LICENSE for the exact terms; this is not legal advice.
Maintenance, upgrade cost and the licence in practice
The repository is not archived, and the last push was on 2026-09-09, so work is ongoing. The release cadence visible in the release list is roughly one minor version every two to three weeks, with three releases between 2026-08-01 and 2026-09-03. That cadence is the upgrade cost: a self-hosted deployment that tracks releases will be redeploying monthly, and the README does not describe a migration procedure or a supported upgrade path between versions.
There is also a submodule in play. Because pipecat is tracked as a submodule and .gitmodules exists, anyone building from source rather than pulling images needs to keep that submodule in sync, and the README's install command does not mention it. Teams that deploy from the published images avoid that problem and inherit a different one: image tags and the compose file must stay compatible, and the compose file expects the init service to have rendered configuration first.
On licensing, BSD 2-Clause is permissive. It allows commercial use and modification, and the README frames source-level customization as a feature. The obligation is essentially attribution and retention of the licence text. What the licence does not give you is any warranty or support commitment, which is the trade you make against a per-minute SaaS contract. Whether that trade is acceptable for a regulated workload is a question for your own counsel, not for a README table.
Editorial conclusion
Adopt Dograh if you have Docker capacity, telephony knowledge and a reason to keep call audio and transcripts on your own infrastructure; the BSD-2-Clause licence and the one-command self-host path make that decision reversible. Skip it if you want a managed phone number and a support contract, because the project ships software, not a service, and the README does not document rollback or backup procedures. Before committing, verify that the docker-compose stack actually starts on your target host, that your chosen STT and TTS providers are reachable from that network, and that the pipecat submodule is present, since the repository lists pipecat as a submodule and the README does not explain what happens when it is missing.
Frequently asked questions
Is Dograh AI free?
The software is BSD 2-Clause and self-hosting is free; the README's comparison table lists Dograh as free to self-host and usage-based on the cloud. You still pay for whatever LLM, STT and TTS providers you connect, and for the infrastructure you run it on.
What is Dograh?
Dograh is an open source, self-hostable voice AI platform for building voice agents. The README describes a visual workflow builder, MCP support so coding assistants can design and edit workflows, and bring-your-own LLM, STT or TTS.
What are some free alternatives to Vapi AI?
Dograh is one: the README positions it as the open-source, self-hostable alternative to Vapi and Retell, under BSD 2-Clause, with the source available for modification. The trade is that you operate the Docker stack, Postgres and Redis yourself.
How does Dograh compare with Vapi?
The README's comparison table lists Vapi as proprietary and SaaS-only, while Dograh is BSD 2-Clause and self-hostable with one Docker command, and allows source-level customization. The practical difference is data residency and who runs the media path, not the feature list.
What is an open source voice agent framework?
It is a codebase you can run and modify to build voice agents, rather than a hosted service. Dograh fits that description: it is BSD 2-Clause, ships a docker-compose stack with Postgres and Redis, and builds on the pipecat submodule for the realtime media path.
Are voice assistants AI?
The ones Dograh builds are: the README describes agents assembled from LLM, STT and TTS components, or a speech-to-speech model, inside a visual workflow. The platform also supports local-llm setups, so the model does not have to be a hosted service.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/dograh-hq-dograh)