Sign inSign up

dograhai/dograh-api

By dograhai

•Updated about 5 hours ago

Backend for Dograh AI

Image
Machine learning & AI
Developer tools
0

50K+

dograhai/dograh-api repository overview

⁠Dograh API

Backend service for Dograh AI⁠ — the open-source alternative to Vapi for building and deploying voice AI agents with telephony and WebRTC support.

Dograh lets you go from zero to a working voice bot in under 2 minutes, with a drag-and-drop workflow builder, bring-your-own LLM/TTS/STT, and first-class self-hosting.

⁠What's in this image

A FastAPI application that powers the Dograh platform:

  • Voice agent runtime built on Pipecat (STT → LLM → TTS pipeline)
  • Workflow engine for drag-and-drop voice agents
  • Telephony integrations (Twilio, Vonage, Vobiz, Cloudonix, ...)
  • WebRTC support for browser-based calls
  • REST API consumed by the dograh-ui frontend
  • Background task processing via ARQ/Redis

⁠Quick start

This image is designed to run as part of the full Dograh stack via Docker Compose (Postgres + Redis + MinIO + API + UI).

curl -o docker-compose.yaml https://raw.githubusercontent.com/dograh-hq/dograh/main/docker-compose.yaml
REGISTRY=dograhai ENABLE_TELEMETRY=true docker compose up --pull always

Then open http://localhost:3010⁠ to create your first AI voice assistant. No API keys required — Dograh auto-provisions defaults so you can start immediately, and you can swap in your own keys anytime.

For remote-server deployment with HTTPS and a TURN server, see the Docker Deployment Guide⁠.

⁠Tags

  • latest — latest stable release
  • X.Y.Z — specific versioned releases (see the changelog⁠)
  • <commit-sha> — images built from a specific commit on main

⁠Upgrading

Pick a tag from the tags page⁠ and pin it in your docker-compose.yaml.

⚠️ Always use the same tag for both dograh-api and dograh-ui. The API and UI are released together and are only guaranteed to be compatible when their tags match (same version number, or same commit SHA). Mixing tags will lead to runtime errors.

  1. Edit docker-compose.yaml and set the same tag on both services:

    services:
      api:
        image: dograhai/dograh-api:1.25.0   # ← same tag
      ui:
        image: dograhai/dograh-ui:1.25.0   # ← same tag
    
  2. Pull the new images and restart the stack:

    docker compose pull
    docker compose up -d
    

    Or in one step: docker compose up -d --pull always.

  3. Verify both containers are healthy:

    docker compose ps
    

To roll back, set both tags to the previous version and repeat the steps above. Postgres schema migrations run automatically on API start — review the changelog⁠ before jumping multiple major versions.

⁠Configuration

The API is configured entirely through environment variables. The most important ones:

VariableDescription
DATABASE_URLAsync Postgres DSN (e.g. postgresql+asyncpg://...)
REDIS_URLRedis connection URL
MINIO_ENDPOINT / MINIO_ACCESS_KEY / MINIO_SECRET_KEYS3-compatible storage for audio
BACKEND_API_ENDPOINTPublic URL the UI/clients reach the API at
OSS_JWT_SECRETJWT signing secret — change in production
TURN_HOST / TURN_SECRETTURN server for WebRTC NAT traversal (remote deploy)
ENABLE_TRACING, LANGFUSE_*Optional Langfuse tracing

See the full docker-compose.yaml⁠ for the complete list.

⁠License

BSD 2-Clause. Built by Dograh⁠ (Zansat Technologies Pvt. Ltd.).


⭐ If you find Dograh useful, star us on GitHub⁠ and join the Slack community⁠.

Tag summary

Content type

Image

Digest

sha256:ce38c48a1…

Size

540.9 MB

Last updated

about 5 hours ago

docker pull dograhai/dograh-api:prod-22ddba51