7.7 KiB
Dograh AI
The fastest way to build voice bots - get started with any voice AI use case in under 2 minutes (our hard SLA standards). Build voice agents in just one line or drag-and-drop, then test them using AI personas that mimic real customer calls. It's 100% open source, self-hosted if you want, and never hides a line of code- ever. The project has a strong commitment to 100% open source and every line of code is released in the open. Maintained by YC alumni and exit founders, we're making sure the future of voice AI stays open, not monopolized.
🎥 Demo Video
📺 Watch 1-min demo video (coming soon)
🚀 Get Started
The only command you need to run:
# Download and start Dograh
curl -o docker-compose.yaml https://raw.githubusercontent.com/dograh-hq/dograh/main/docker-compose.yaml && docker compose up
Note
First startup may take 2-3 minutes to download all images. Once running, open http://localhost:3000 to create your first AI voice assistant!
For prerequisites, port issues, or troubleshooting, see the Prerequisites and Troubleshooting section below.
🎙️ Your First Voice Bot
- Open Dashboard: Launch http://localhost:3000 on your browser
- Choose Call Type: Select Inbound or Outbound calling.
- Name Your Bot: Use a short two-word name (e.g., Lead Qualification).
- Describe Use Case: In 5–10 words (e.g., Screen insurance form submissions for purchase intent).
- Launch: Your bot is ready! Open the bot and click Web Call to talk to it.
- No API Keys Needed: We auto-generate Dograh API keys so you can start immediately. You can switch to your own keys anytime.
- Default Access: Includes Dograh’s own LLMs, STT, and TTS stack by default.
- Bring Your Own Keys: Optionally connect your own API keys for LLMs, STT, TTS, or telephony providers like Twilio.
Quick Summary
⚡ 2-Minute Setup: Hard SLA standards - from zero to working voice bot in under 2 minutes
- 🔧 Minimal setup: Just run docker command and you're live
- 🤖 AI Testing Personas: Test your bots with LoopTalk AI that mimics real customer interactions
- 🔓 100% Open Source: Every line of code is open - no hidden logic, no black boxes
- 🔄 Flexible Integration: Bring your own LLM, TTS, or STT - or use Dograh’s API’s
- ☁️ Self-Host or Cloud: Run locally or use our hosted version at app.dograh.com
Features
Voice Capabilities
- Telephony: Built-in Twilio integration (easily add others)
- Languages: English support (expandable to other languages)
- Custom Models: Bring your own TTS/STT models
- Real-time Processing: Low-latency voice interactions
Developer Experience
- Zero Config Start: Auto-generated API keys for instant testing
- Python-Based: Built on Python for easy customization
- Docker-First: Containerized for consistent deployments
- Modular Architecture: Swap components as needed
Testing & Quality
- LoopTalk (Beta): Create AI personas to test your voice agents
- Workflow Testing: Test specific workflow IDs with automated calls
- Real-world Simulation: AI personas that mimic actual customer behavior
🔧 Prerequisites and Troubleshooting
Prerequisites
To run Dograh AI locally, make sure you have the following installed:
Note
Docker Compose is included with Docker Desktop. Make sure Docker is running before you begin.
Required Ports
Ensure these ports are available:
3000- Web UI8000- API Server5432- PostgreSQL6379- Redis9000- MinIO (S3-compatible storage)9001- MinIO Console
Checking Port Availability
# Check if a port is in use (replace 3000 with the port number)
lsof -i :3000
Freeing Up Ports
When a port is already in use:
# Check what's using the port first
lsof -i :3000
# Then kill the process (may require sudo on Linux)
kill -9 $(lsof -t -i :3000)
When Docker containers are using the ports (with auto-restart enabled):
Step 1: Stop all running containers
docker stop $(docker ps -q)
Step 2: Disable restart policy for all containers This prevents containers from automatically restarting:
docker update --restart=no $(docker ps -a -q)
Step 3: Verify
Check that no containers are running:
docker ps
Check restart policies (should show 'no' for each container):
docker inspect -f '{{.Name}} - {{.HostConfig.RestartPolicy.Name}}' $(docker ps -a -q)
Stopping Dograh Services
# Stop services
docker compose down
# Stop and remove all data (full cleanup)
docker compose down -v
Configuration
Dograh automatically generates API keys on first run, but you can use your own keys.
- OPENAI_API_KEY=your_key_here
- TWILIO_ACCOUNT_SID=your_sid_here
- TWILIO_AUTH_TOKEN=your_token_here
Architecture
Architecture diagram (coming soon)
Deployment Options
Local Development
Refer prerequisites and first steps
Production (Self-Hosted)
Production guide coming soon. Drop in a message for assistance.
Cloud Version
Visit https://www.dograh.com for our managed cloud offering.
📚Documentation
Full documentation is in progress. For now, this README will get you started.
🤝Community & Support
- GitHub Issues: Report bugs or request features
- Slack: Our Slack community is not just for support — it’s the cornerstone of Dograh AI contributions. Here, you can:
- Connect with maintainers and other contributors
- Discuss issues and features before coding
- Get help with setup and debugging
- Stay up to date with contribution sprints
👉 Join us → Dograh Community Slack
Tech Stack
- FastAPI
- Pipecat
- LiveKit
- PostgreSQL
- Next.js
- XYFlow React
- Inbuilt Twilio integration
- Flexible back-end: switch to any LLM, TTS, or STT
🙌 Contributing
We love contributions! Dograh AI is 100% open source and we intend to keep it that way.
Getting Started
- Fork the repository
- Create your feature branch (git checkout -b feature/AmazingFeature)
- Commit your changes (git commit -m 'Add some AmazingFeature')
- Push to the branch (git push origin feature/AmazingFeature)
- Open a Pull Request
📄 License
Dograh AI is licensed under the BSD 2-Clause License- the same license as projects that were used in building Dograh AI, ensuring compatibility and freedom to use, modify, and distribute.
🏢 About
Built with ❤️ by Dograh (Zansat Technologies Private Limited) Founded by YC alumni and exit founders committed to keeping voice AI open and accessible to everyone.