Deployment
Self-hosted voice AI, without an enterprise gate
PeachDesk runs two ways. PeachDesk-hosted is the fully managed path: we operate the platform and you build agents. Self-hosted is the same platform running in your own environment as a Docker Compose stack, with billing disabled. Both are first-class product paths.
Two ways to run PeachDesk
PeachDesk-hosted
- We operate the platform; you operate the agents.
- Frontier mode, Local mode, and BYOK sourcing, mixed per stage per agent.
- Metered managed usage draws down credits; BYOK calls are never metered by PeachDesk.
- The zero-operations path: sign up and start building.
Self-hosted
- You run the full platform on your own infrastructure with Docker Compose.
- Billing is disabled by default: no credit system, no metering by the platform, no checkout.
- You still pay your own providers for Frontier and BYOK stages, your carrier for telephony, and your own infrastructure.
- Data for self-hosted stages stays inside your environment.
On-prem, private, and VPC deployments
Buyers reach the self-hosted path through different vocabulary, and the mapping is worth making explicit. An on-prem voice AI deployment is the self-hosted stack on hardware you own: the full platform in your data centre, next to the systems it integrates with. Private voice AI is the same architecture read from the privacy side: the platform runs privately inside your cloud or data centre, and for self-hosted stages call audio and transcripts stay there.
The most common shape is a VPC deployment: the Docker Compose stack runs inside your own virtual private cloud, with your network rules and identity stack in front of it. Every self-hosted voice agent then inherits the perimeter controls your security team already maintains, and Local mode keeps model inference on your GPUs inside the same boundary.
Hosted, VPC, or on-prem
Three deployment shapes of the same platform, compared on the dimensions that decide a rollout.
PeachDesk-hosted cloud, self-hosted in your VPC, and self-hosted on-prem compared| Dimension | PeachDesk-hosted cloud | Self-hosted in your VPC | Self-hosted on-prem |
|---|
| Who operates it | PeachDesk operates the platform; you build and operate the agents. | Your team runs the Docker Compose stack inside your cloud account. | Your team runs the Docker Compose stack inside your own data centre. |
|---|
| Where call data lives | On PeachDesk-managed infrastructure, with per-agent retention windows and automated purge. | In your cloud account; self-hosted stages keep call audio and transcripts in your object storage. | In your data centre, in object storage your deployment controls, behind signed, time-limited URLs. |
|---|
| Who fronts identity and logging | PeachDesk fronts identity and platform logging for you. | Your cloud identity stack, network rules, and logging pipeline front the deployment. | Your identity provider, network rules, and audit logging front the deployment, with no external dependency. |
|---|
| Billing behavior | Metered managed usage draws down credits; calls on your own provider keys are never metered by PeachDesk. | Disabled by default; you pay your own providers, your carrier, and your cloud infrastructure. | Disabled by default; you pay your own providers, your carrier, and your own hardware and GPUs. |
|---|
| Best for | The zero-operations path: sign up and start building. | Teams that keep workloads inside their own cloud perimeter and identity stack. | Environments with strict locality requirements, including Local mode inference on your own GPUs. |
|---|
What the self-hosted stack contains
The whole platform, packaged as services you can inspect and operate.
- FastAPI backend, the API and orchestration layer.
- Next.js dashboard, the visual builder and operations UI.
- PostgreSQL with pgvector, platform data and knowledge-base search.
- Redis, caching and background task queues.
- MinIO object storage, recordings and transcripts behind signed, time-limited URLs.
- Cloudflare Tunnel, exposure for webhooks and telephony callbacks.
- Voice engine (GPU), the Local mode service that runs leading open models for self-hosted inference.
Where your data lives
In a self-hosted deployment with Local-mode stages, call audio and transcripts need not leave your environment: inference runs on your GPUs and recordings live in your object storage. Per-agent retention windows with automated purge apply wherever the platform runs.
The precision that matters: sourcing is per stage, per agent. Any stage routed to a PeachDesk-managed provider, to your own cloud provider keys, or to the telephone network leaves your environment for that stage. Local-mode data control covers the stages you self-host. For the full picture, read about voice AI data residency and the platform's security and privacy controls.
Local mode on your GPUs
The self-hosted voice engine runs a full open-model stack (speech-to-text, language model, text-to-speech) with offline model loading. GPU capacity scales to zero when idle and comes back from a dashboard switch, and operators control which models teams may use. Self-hosted inference carries no per-minute provider charge; you pay for GPU capacity. Details live on the Local mode page.
Self-host quickstart
Five steps from clone to connected telephony. The deployment documentation carries the full configuration reference.

Get the code
Clone the PeachDesk repository. The codebase is the source of truth for self-hosting, and the application images are built locally from it.
Configure the environment
Set your database, object storage, and provider credentials in the environment configuration for the stack.
Start the stack
Run Docker Compose to bring up the FastAPI backend, the Next.js dashboard, PostgreSQL with pgvector, Redis, and MinIO object storage.
Add Local mode (optional)
Enable the GPU-backed voice engine service to run self-hosted inference on leading open models, and scale GPU capacity to zero when idle.
Connect telephony
Register your own phone numbers through one of the 7 supported telephony providers or your own Asterisk PBX, and route each number to its agent.
Can I run PeachDesk entirely on my own infrastructure?
Yes. The full platform ships as a Docker Compose stack: the backend, dashboard, PostgreSQL, Redis, and object storage, with Local mode adding a GPU voice engine for self-hosted inference. Billing is disabled by default in the self-hosted stack. You still pay your own providers for any Frontier or BYOK stages, your carrier for telephony, and your own GPU capacity.
What stays on my servers in Local mode?
In Local mode, speech-to-text, the language model, and text-to-speech run on a full open-model stack inside your environment, so call audio and transcripts need not leave it for those stages. Recordings and transcripts are stored in object storage your deployment controls, behind signed, time-limited URLs. Any stage routed to an external provider leaves your environment for that stage.
Is PeachDesk open source?
No. PeachDesk is closed-source. The models its Local mode voice engine runs are open models, but the platform itself is not open source. Self-hosting gives you a different kind of control: the full platform deploys into your environment as services you can inspect and operate, so your team can audit its behavior at runtime and front it with your own logging, identity, and network controls.
Planning a self-hosted rollout?
Talk to us about your infrastructure, GPU capacity, and telephony requirements.