On-Premises Deployment

Self-Hosted PTT Server — Run Dialog PTT on Your Own Infrastructure

Dialog PTT can be deployed on any VPS or dedicated server using Docker. Full data residency, no third-party dependency, upgrade on your schedule.

Why Self-Host

Full Control Over Your PTT Infrastructure

🏗️

Your Server, Your Data

All PTT audio, GPS positions, recordings, and incident data stay on your infrastructure. No third-party cloud. Ideal for government, defence-adjacent, healthcare, and regulated industries requiring data residency.

🔄

Upgrade on Your Schedule

Update to new server versions when it suits your team — not on a cloud provider's timeline. Rollback is a single `docker compose` command. No forced upgrades, no surprise breaking changes.

💰

Predictable Cost

Self-hosted runs on a single VPS. 2 vCPU / 2 GB RAM handles dozens of concurrent PTT users. Pay your VPS provider — not a per-user SaaS fee. Cost doesn't scale with headcount.

🔒

Full AES-256-GCM E2EE

Self-hosted does not reduce encryption. Voice is encrypted on the device with per-group AES-256-GCM keys. Your server relays ciphertext it cannot decrypt — even as the infrastructure owner.

🌐

Works Anywhere

Deploy on any VPS — Hetzner, DigitalOcean, AWS, Azure, GCP, or a bare-metal server. QUIC + WebSocket transport means it works through NAT, firewalls, and corporate proxies.

Low Overhead

Dialog PTT server is a lightweight .NET 8 application. Audio relay is handled efficiently — the server relays compressed Opus ciphertext without decoding. CPU stays low even under load.

Deployment

Up and Running in Under an Hour

Server Requirements

  • Any Linux VPS (Ubuntu 22.04 / Debian 12 recommended)
  • 2 vCPU, 2 GB RAM minimum
  • 20 GB disk (recordings storage depends on usage)
  • Docker + Docker Compose installed
  • Port 5000 (TCP, signalling) + 5002 (UDP, QUIC) open

Stack Components

  • dialog-signalling — WebSocket + QUIC signalling server
  • dialog-api — REST API (device management, portal)
  • dialog-worker — background jobs (OTAP, remote config)
  • dialog-db — SQL Server (or Postgres) — internal only
  • nginx-proxy-manager — optional, for HTTPS portal

What We Provide

Self-hosted customers receive:

  • Docker Compose stack + environment template
  • QUIC TLS certificate generation guide
  • Nginx reverse proxy configuration (for portal HTTPS)
  • Initial device provisioning guide
  • UK-based support for initial deployment
  • Access to server update packages

Most teams are fully operational within an hour of receiving the stack. The Dialog PTT Android app and Windows dispatcher are configured by pointing them at your server IP/hostname.

No DNS changes required to get started — provision devices with your server IP directly.

Transport Architecture

QUIC + WebSocket — Reliable Over Any Network

Primary: QUIC (UDP)

Dialog PTT uses QUIC as its primary transport. QUIC runs over UDP port 5002 and provides:

  • Lower latency than TCP-based WebSocket
  • Connection migration — survives IP address changes mid-call
  • 0-RTT reconnect after brief network interruption
  • TLS 1.3 built in — QUIC connections are always encrypted at transport layer
  • Works through most NAT without port forwarding

Fallback: WebSocket (TCP)

If QUIC is blocked (strict corporate firewalls, UDP-blocking mobile APNs), Dialog PTT automatically falls back to WebSocket over TCP port 5000.

  • Transparent fallback — no user action required
  • Works through HTTP proxies and firewalls that block UDP
  • Same AES-256-GCM E2EE as QUIC path
  • Slightly higher latency but fully functional PTT

Both transports connect to the same server. The client selects QUIC first and falls back automatically if unavailable.

Hosted vs Self-Hosted

Which Deployment Is Right for You?

Hosted (Managed) Self-Hosted
Time to liveSame dayUnder 1 hour
InfrastructureWe manage itYour VPS
Data residencyOur servers (UK)Fully on your servers
UpdatesAutomaticYou control timing
E2EE audioYesYes
All featuresYesYes
SupportUK-based, includedUK-based, included
Best forFast start, minimal ITData sovereignty, regulated industries

Start Your Self-Hosted Trial

Request a demo and we'll walk you through the self-hosted deployment on your own server. Have it running the same day.

Request a Demo   Security Details →