Skip to main content
Dograh AI can be deployed using Docker in two main configurations. Choose the option that best fits your needs:
  • Option 1: For local development and testing on your own machine
  • Option 2: For remote server deployment with HTTPS (using IP address)

Option 1: Local Docker Deployment

For local development and testing, you can run Dograh AI directly on your machine using Docker with a single command.

Quick Start

Run this single command to download and start Dograh AI:
curl -o docker-compose.yaml https://raw.githubusercontent.com/dograh-hq/dograh/main/docker-compose.yaml && REGISTRY=ghcr.io/dograh-hq ENABLE_TELEMETRY=true docker compose up --pull always
This command:
  • Downloads the latest docker-compose.yaml
  • Starts all required services including PostgreSQL, Redis, MinIO, API, and UI
  • Pulls the latest images automatically

Access the Application

Once running (first startup takes 2-3 minutes), open:
http://localhost:3010
You can disable telemetry by setting ENABLE_TELEMETRY=false in the command above.

Option 2: Remote Server Deployment

Deploy Dograh AI on a remote server to make it accessible from anywhere using your server’s IP address. This setup includes HTTPS support via nginx reverse proxy with self-signed certificates. We need to serve the application over HTTPS, since modern browsers only allow microphone permissions for websites being served over HTTPS. We highly recommend you set up the platform on a fresh server, so that there are less chances of confliciting dependencies, and ports from other applications.

Prerequisites

  • A server with Docker and Docker Compose installed. It should have minimum of 8 GB RAM and 2 vCPUs.
  • Public IP address for your server
  • TCP Ports 80, 443, 3478, 5349 and UDP Ports 3478, 5349 and 49152:49200 reachable from Internet (Port 80 and 443 to access the UI and rest of the ports for WebRTC Signaling)
Please refer to your server hosting provider’s documentaion on how you can open these ports in the firewall of the server.

Quick Setup

Run the automated setup script that will configure everything for you:
curl -o setup_remote.sh https://raw.githubusercontent.com/dograh-hq/dograh/main/scripts/setup_remote.sh && chmod +x setup_remote.sh && ./setup_remote.sh
The script will prompt you for:
  • Your server’s public IP address
  • A password for the TURN server (optional, press Enter for default)
It will automatically:
  • Download the docker-compose.yaml file
  • Create and configure nginx.conf with your IP address
  • Generate SSL certificates
  • Create an environment file with TURN server configuration

Start the Application

After the setup script completes, start Dograh:
cd dograh
sudo docker compose --profile remote up --pull always

Access Your Application

Your application will be available at
https://YOUR_SERVER_IP
Since we are using a self-signed certificate, your browser will show a security warning. You can safely accept it to proceed.
You should be able to create and test a voice agent now.

Configuration Notes

  • The remote deployment includes an nginx reverse proxy for HTTPS termination
  • File downloads (transcripts, recordings) are automatically routed through nginx
  • WebSocket connections for real-time features are properly proxied
  • The setup uses self-signed certificates - browsers will show a security warning that you can safely accept for testing
  • The TURN server (coturn) is configured for WebRTC NAT traversal
  • For production deployments with proper SSL and domain names, see the Custom Domain documentation

Files Created

The setup script creates the following files in the dograh/ directory:
FilePurpose
docker-compose.yamlMain Docker Compose configuration
nginx.confnginx reverse proxy configuration with your IP
generate_certificate.shScript to regenerate SSL certificates
certs/local.crtSelf-signed SSL certificate
certs/local.keySSL private key
.envEnvironment variables for TURN server

Next Steps

Now that you are able to create and test a voice agent, you can setup a custom domain and setup SSL using letsencrypt. Checkout Custom Domain for instructions on how to do that.