--- title: "Deployments" description: "Options for self-hosting Dograh — from a local Docker install to a production remote server with a custom domain." --- Dograh is self-hosted with Docker. Everything ships as two images (`dograh-api` and `dograh-ui`) plus Postgres, Redis, and MinIO, orchestrated with Docker Compose. Pick the deployment path that matches what you're trying to do: | Path | Use it when | Guide | | --- | --- | --- | | **Local Docker** | You want to try Dograh on your own machine. No public URL, no telephony. | [Docker → Option 1](/deployment/docker#option-1-local-docker-deployment) | | **Remote server** | You want a real server reachable from the internet, with HTTPS out of the box (via a free `sslip.io` certificate — no domain required). | [Docker → Option 2](/deployment/docker#option-2-remote-server-deployment) | | **Custom domain** | You already have a remote deployment and want your own domain (e.g. `voice.yourcompany.com`) instead of the `sslip.io` URL. | [Custom Domain](/deployment/custom-domain) | | **Heroku** | One-click PaaS deployment. | [Heroku](/deployment/heroku) — coming soon | Browsers treat microphone access as a secure-context feature, so the app must be served over HTTPS — or accessed at localhost/127.0.0.1 over HTTP, which is also a secure context. Local Docker uses `http://localhost:3010` and therefore does not need a certificate. ## After you deploy Once the platform is running, these guides cover keeping it running: - [**Authentication**](/deployment/authentication) — switch from the built-in local email/password provider to Stack Auth for social login. - [**Scaling**](/deployment/scaling) — run multiple FastAPI workers behind nginx for higher call throughput. - [**Update**](/deployment/update) — move an existing deployment to a newer Dograh version. ## Where to start 1. **Kicking the tires?** Start with [local Docker](/deployment/docker#option-1-local-docker-deployment) — running in a few minutes, no server needed. 2. **Putting it in front of real callers?** Use [remote server deployment](/deployment/docker#option-2-remote-server-deployment), then layer on a [custom domain](/deployment/custom-domain) if you want one. 3. **Already running and need to upgrade?** Go straight to [Update](/deployment/update). 4. **Expecting high call volume?** Read [Scaling](/deployment/scaling) once your base deployment is live. ## Related - [Contribution: Setup](/contribution/setup) — for developing on Dograh itself rather than deploying it - [Environment Variables](/developer/environment-variables)