Skip to main content
Version: 0.9.14

Operations

The Delphi platform deploys as nine services plus a bastion host, each running on its own cloud instance. Each service has its own operations page covering runbook, configuration, and troubleshooting in tabs.

For first-boot mechanics (init.sh, S3 config sync, fetch-env.sh, and Docker Compose startup), use Bootstrap and init. This section starts once hosts exist and you need to operate or debug a specific role.

Instance vCPU and RAM are in Provision instances.

When a release, secret rotation, or config change lands, use the Restart matrix to decide which services must re-read env and in what order.

The generic docs describe the service roles and optional containers that can appear in a Delphi deployment. A customer's exact container inventory comes from the generated deployment configuration, enabled feature flags, image tag, and generated Docker Compose files. Use Release compatibility to see which service roles changed in each release; keep the customer-specific inventory with the deployment handover or runbook.

Use the cards below as the central firewall checklist by service role. They intentionally stay high-level; per-container ports and env variables live on each service page. TelPro entries marked webrtc apply only when the Featurewebrtc flag is enabled. In this platform release, those TelPro WebRTC entries are the only feature-flagged port requirements; the other flags change containers, env, or UI surfaces without adding public firewall rules.

Service grid

TelPro

Kamailio 6 · RTPEngine · optional Janus/coturn
Ports
5060/5061 SIP signaling, 20000–40000 RTP media, 443 WSS (Janus signaling, webrtc), 10000–12000 RTP (Janus media, webrtc), 3478/5349 TURN (webrtc), 49152–51152 TURN relay (webrtc)
Depends on
Database (Redis)
Tags
public-ipsipwebrtc

Public-facing telephony and WebRTC gateway. Single instance, static IP.

Voice

Asterisk 22.9 (TelSys) + TelPhi (Node 24) + AudioProc
Ports
5080 SIP (internal), 8088 ARI, 10000–11999 RTP, 12001 TelPhi media WS
Depends on
TelPro, Database, Squid
Tags
privatescalableai

Asterisk PBX plus the AI conversation engine. Horizontally scalable.

API

Fastify (Node 24) behind managed LB
Ports
3001 HTTP/WebSocket
Depends on
Database, Media, Squid
Tags
lbscalableapi

TelAPI HTTP/WebSocket server. Multiple instances behind a managed load balancer with sticky sessions.

Web

Next.js (TelWeb) + Caddy
Ports
80/443 (Caddy), 5050 (internal Next.js)
Depends on
Database, API
Tags
public-ipwebauth

TelWeb management dashboard behind Caddy with automatic Let's Encrypt HTTPS. Also reverse-proxies SigNoz.

Database

PostgreSQL 17 + Redis 7 + PgBouncer
Ports
5432 Postgres, 6379 Redis, 6380 Redis TLS (optional)
Tags
privatestatefulpersistent-volume

Central Postgres and Redis with attached block storage at /mnt/data. Single instance; data survives instance recreation via volume reattach.

Media

Caddy + media-upload (Go)
Ports
443 HTTPS
Depends on
Database (metadata)
Tags
privatetts-cache

Private TTS media cache. HTTPS at static private IP 10.0.1.30. Stores generated audio for TelPhi / TelAPI reuse.

Ops

Scaler + Tasker + db-migrate (Node 24)
Depends on
Database, Squid
Tags
privatejobsautoscale

Scaler autoscales Voice and API instances. Tasker runs background jobs, cron, DB backups, and email notifications. The v0.9.13+ migration one-shot container also lives here.

SigNoz

SigNoz upstream stack (ClickHouse + ZooKeeper + query-service)
Ports
4317 OTLP gRPC, 4318 OTLP HTTP, 8080 UI
Depends on
Squid
Tags
privateobservabilityfixed-ip

Observability backend on static private IP 10.0.1.10. Receives traces, metrics, and logs from every service.

Squid

Squid (Ubuntu image)
Ports
3128 HTTP/HTTPS proxy
Tags
public-ipproxyegress

HTTP/HTTPS proxy for every private-network instance. First service to deploy.

See also