Model or dataset
dograh-hq/dograh avatar
dograh-hq/dograh

Dograh: a self-hosted voice agent platform you run with one Docker command

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.

6,091 stars1,574 forksPythonBSD-2-Clause

At a glance

What is it?
Dograh is a BSD-2-Clause Python platform for building inbound and outbound voice agents on your own infrastructure, with a visual workflow builder, bring-your-own model providers, MCP integration and telephony support. The interesting question is not whether it works but where the self-hosted boundary actually sits.
Who is it for?
Adopt Dograh if your voice agents handle data that cannot leave your network, or if per-minute SaaS pricing is the thing blocking a pilot, and you have someone who can read a docker-compose.yaml and a Python traceback. Do not adopt it if you want a managed SLA, a support contract, or a platform where the hard part (carrier relationships, model routing, latency tuning) is somebody else's job.
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 November 14, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • dograh-hq/dograh6,091 ★ · +454
Star history
Repository2026-09-122026-11-14
dograh-hq/dograh5.6k6.1k

454 Stars in the last 63 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

The bill and the data residency problem, not the feature list

Voice agent platforms such as Vapi and Retell are priced per minute and run in the vendor's cloud. That model fails in two specific situations. The first is a call volume where per-minute pricing becomes a line item somebody has to defend in a budget review. The second is a compliance constraint: recordings, transcripts and caller identifiers from a healthcare intake line or a financial collections flow cannot sit in a third party's storage without a data processing agreement and an audit trail. Dograh targets both. The README frames it as "the open-source, self-hostable alternative to Vapi & Retell", licensed BSD 2-Clause, and the comparison table it ships lists data residency as "your infra, your rules" and vendor lock-in as none. The intended user is a team with a Python-capable engineer and a server, not a solo operator who wants a hosted dashboard.

Workflow graph in, Pipecat pipeline out

The architecture has three layers. At the top is a visual workflow builder: you pick Inbound or Outbound, name the bot, and arrange the conversation as a graph. That graph is the artifact you edit, and it is also the artifact an AI coding assistant can edit, because Dograh exposes itself over MCP. That is the more unusual design decision here. Rather than treating the builder as the only interface, the project lets a Claude Code or Codex session create and modify workflows through a tool protocol, which means the workflow definition has to be machine-readable and stable enough for an external agent to manipulate. Below the builder sits the runtime, built on Pipecat, which appears as a pipecat entry at the repository root. Pipecat handles the streaming pipeline between audio in, speech recognition, the language model, and audio out. Dograh's contribution is the layer above: the graph, the node types, the telephony bridge, and the provider configuration. The third layer is the model stack, and this is where the BYOK claim gets concrete. The description says BYOK across speech-to-speech or LLM/STT/TTS, meaning you can either run a single end-to-end speech model or compose separate transcription, reasoning and synthesis providers. The README names Twilio, Vonage and Telnyx as examples of telephony keys you can connect.

One curl, one script, port 3010

The documented install is a single shell line that downloads a compose file and a startup script, then runs it. The README gives this exact command: 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.sh. The README states that first startup may take two to three minutes while images download, and that the UI is then reachable at http://localhost:3010. Among the documented configuration keys, setting ENABLE_TELEMETRY=false before running the startup script opts out of anonymous usage collection, which the README says is on by default. There is also an agent-assisted path. The project publishes a plugin repository at dograh-hq/dograh-plugins, and the README shows the Claude Code commands /plugin marketplace add dograh-hq/dograh-plugins followed by /plugin install dograh@dograh, after which you ask the agent to set up Dograh or run /dograh-setup. The plugin is described as detecting your OS, choosing a deploy path, running Dograh's own setup scripts and verifying the result. Codex is listed as supported too. For remote servers, the README points to docs.dograh.com/deployment/docker rather than inlining the procedure, and a troubleshooting document lives at docs/getting-started/troubleshooting.mdx.

Where the one-command story stops

The compose file and start script are the easy part. The README says no API keys are needed for the quickstart, because Dograh ships with auto-generated keys and its own LLM, TTS and STT stack; connecting your own keys for LLM, TTS, STT or telephony is a separate step. Telephony is the sharper boundary. The README's first-bot walkthrough starts at the browser, with Test Audio and Test Chat, so you can build and talk to an agent before you have connected a phone number. Connecting a real number means attaching your own telephony keys (the README names Twilio, Vonage and Telnyx), and by default the quickstart opens a public *.trycloudflare.com quick tunnel to the API for inbound telephony webhooks. The second limitation is operational rather than technical: self-hosting moves the uptime problem to you. A dropped call at 2am is your pager, not a vendor's status page. The README's own comparison table lists self-hostable as a Dograh advantage, and it is, but only for teams already comfortable owning that.

Release cadence and what it implies for upgrades

The release list shows v1.48.0 on 2026-10-02, v1.49.0 on 2026-10-12, and v1.50.0 on 2026-10-31, with the last push to main on 2026-10-31. That is roughly a minor release every one to three weeks. For a self-hosted deployment this matters in a way it does not for SaaS. You are the one who decides when to pull, and you are the one who discovers that a workflow schema changed or a compose service was renamed. The project ships a start_docker.sh script rather than a migration tool. Anyone running Dograh in production should read the release notes for each version before pulling, and should keep the previous compose file so a rollback does not require reconstructing the environment. The BSD 2-Clause licence is permissive: it allows modification and redistribution with the copyright notice and disclaimer retained, and it does not impose a copyleft obligation on your own code. It also means no warranty, which is the standard trade for a permissive licence and worth stating plainly to whoever signs off on the deployment. This is a description of the licence text, not legal advice; have counsel review anything that touches regulated data.

Against Vapi and Retell, and against building it yourself

The obvious alternatives are the ones Dograh names. Vapi and Retell are proprietary, SaaS-only, and priced per minute. The difference is not feature parity, it is where the control boundary sits. With either, you configure within their integration list and their infrastructure. With Dograh, the comparison table claims "any provider" for LLM, STT and TTS, and source-level customization because every line is modifiable. That claim is only worth something if you actually intend to modify something. A team that self-hosts Dograh and then uses it exactly as it would use Retell has taken on the operational burden for none of the benefit. The more interesting comparison is against assembling Pipecat yourself. Pipecat is already the framework underneath, and a competent Python team could build a streaming voice pipeline on it directly. What Dograh adds on top is the visual graph editor, the MCP surface for agent-driven editing, the built-in telephony, and a UI for non-engineers to inspect and change call flows. If none of those four things matters to you, the framework alone is the smaller dependency. If your operations or support team needs to edit a call flow without opening an editor, the builder is the reason to take the whole platform.

Who this fits, and the three things to check first

Dograh fits teams with a compliance or cost reason to keep voice traffic on their own infrastructure and at least one engineer who is comfortable with Docker, Python and a telephony stack. It fits less well if you need a vendor to answer the phone when the platform breaks, or if your call volume is low enough that per-minute pricing is cheaper than the engineering hours self-hosting consumes. There is also a cloud option at app.dograh.com, which the README presents alongside the self-hosted path, so the project is not asking you to choose between open source and a managed service; you can evaluate on the hosted version and move. Before you commit to the self-hosted route, verify three things on your own hardware rather than trusting the quickstart: that the telephony provider you connect completes a real call in both directions, that your chosen STT and TTS endpoints respond fast enough from inside the container network that turn-taking does not feel broken, and that the workflow builder's node set expresses your call flow without custom code. If any of those three fails, the one-command install was never the hard part.

Editorial conclusion

Adopt Dograh if your voice agents handle data that cannot leave your network, or if per-minute SaaS pricing is the thing blocking a pilot, and you have someone who can read a docker-compose.yaml and a Python traceback. Do not adopt it if you want a managed SLA, a support contract, or a platform where the hard part (carrier relationships, model routing, latency tuning) is somebody else's job. Before committing, verify three things on your own hardware: that the telephony path you need is actually wired up, that your chosen STT and TTS providers are reachable from inside the container network with acceptable round-trip latency, and that the workflow builder's node set covers your call flow without you writing custom code. Dograh gives you the source; it does not give you the operations team.

Frequently asked questions

Is dograh AI free?

Self-hosting is free: the comparison table lists pricing as free when you self-host, with usage-based pricing for the cloud option. The quickstart also needs no API keys, because it ships auto-generated keys and its own LLM, STT and TTS stack, but provider minutes start costing you as soon as you attach your own keys.

What is dograh?

An open source voice AI platform under BSD 2-Clause that positions itself as a self-hosted alternative to Vapi and Retell. It gives you a visual workflow builder with start nodes, agent nodes, transitions and end-call outcomes, Test Audio and Test Chat panels, an MCP server, and built-in telephony.

dograh vs vapi

The difference the project draws is licence and control, not feature count. Dograh is BSD 2-Clause and self-hostable with one Docker command while Vapi is proprietary SaaS priced per minute; Vapi is configurable within its integrations while Dograh accepts any provider or its own stack, and Dograh adds source-level customization and data residency on your own infrastructure.

What are some free alternatives to Vapi AI?

Dograh names itself as one, against Vapi and Retell as the per-minute SaaS options it contrasts with. Its claim to being free rests on self-hosting: BSD 2-Clause code on your own hardware, with provider charges only for whichever LLM, STT, TTS and telephony keys you connect.

What is an open source voice agent framework?

One where the call is defined as nodes rather than buried in a vendor's console. Dograh's builder holds start nodes, agent nodes, global instructions, tools, transitions and end-call outcomes, with QA nodes, knowledge bases, webhooks and tool calling attached, and the whole stack runs on infrastructure you control.

Official sources

  1. dograh-hq/dograh on GitHub
  2. License: BSD-2-Clause
  3. Project website
  4. README
  5. Releases
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.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/dograh-hq-dograh.svg)](https://hysenlabs.com/projects/dograh-hq-dograh)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/dograh-hq-dograh.svg)](https://hysenlabs.com/projects/dograh-hq-dograh)

Was this useful?