Skip to content

Architecture

Pvdify Architecture

Four-plane architecture on a single Virtuozzo VPS.

Plane Model

┌─────────────────────────────────────────────────────────────────┐
│ EDGE PLANE (Cloudflare) │
│ DNS · TLS · WAF · Tunnels │
└──────────────────────────────┬──────────────────────────────────┘
┌───────────────────────┼───────────────────────┐
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ MARKETING │ │ APP RUNTIME │ │ CONTROL │
│ (WHM/cPanel) │ │ (Podman+systemd)│ │ (Pvdify) │
│ Ports 80/443 │ │ Ports 3000+ │ │ Port 9443 │
│ 47 accounts │ │ App containers │ │ pvdifyd API │
└─────────────────┘ └─────────────────┘ └─────────────────┘

Plane Details

Edge Plane (Cloudflare)

CapabilityImplementation
DNS49 zones managed via flarectl (cf)
TLSFull (strict) mode, origin certs
WAFManaged rulesets, rate limiting
Tunnelscloudflared for app ingress
PagesStatic site hosting (Forge docs)
AccessZero Trust authentication

CLI: cf (flarectl), cfw (wrangler), cloudflared

Marketing Plane (WHM/cPanel)

CapabilityImplementation
Web ServerLiteSpeed Enterprise
Accounts47 cPanel accounts
DatabasesMariaDB 10.6
PHP8.1, 8.2, 8.3
WordPressMainWP fleet (46 sites)
EmailExim + Dovecot

CLI: whmapi1, uapi, wp (WP-CLI), mwp (MainWP)

App Runtime Plane (Podman + systemd)

CapabilityImplementation
RuntimePodman 4.9.4 (rootless)
Orchestrationsystemd user units
NetworkingHost ports 3000+
IngressCloudflare Tunnel
RegistryGitHub Container Registry

Constraints:

  • No Docker daemon (Podman only)
  • No swap memory (strict resource limits)
  • External CI builds only (no builds on VPS)
  • Image-based deploys (no git push builds)

Control Plane (Pvdify)

ComponentDescription
pvdifydGo daemon, API on port 9443
pvdifyGo CLI, Heroku-style commands
gh pvdifyGitHub CLI extension
Admin UISvelte SPA at pvdify.win

Dedicated IP: One of 199.167.201.52, .202.209, or .203.234

Current Deployment Status

ComponentStatusNotes
WHM/cPanel✅ Active47 accounts, LiteSpeed
Podman✅ ActivePostHog (data.philoveracity.com), browserless
pvdifyd✅ ActiveGo daemon on port 9443, serves Admin UI
pvdify CLI⏳ PlannedGo CLI (to build)
cloudflared✅ ActiveTunnels: pvdify (pvdify.win), wirebot (wirebot.chat)
Cloudflare Pages✅ ActiveForge deployed
Cloudflare Access✅ ActiveForge protected

Core Constraints

ConstraintImplication
Single Virtuozzo VPSAll planes share one host
WHM/cPanel permanentNever replaced, authoritative for marketing
Podman (rootless)Container runtime, no Docker daemon
No swap memoryHard memory limits, strict resource discipline
Kernel 3.10Some Go binaries need container wrapping
Cloudflare controls DNS/TLSNo origin TLS management
External CI onlyNo builds on VPS, image-based deploys

Resource Allocation

ResourceTotalMarketingApp RuntimeControl
RAM14 GB~4 GB~6 GB~500 MB
Disk350 GB~100 GB~50 GB~1 GB
IPs51 (shared)1-3 (apps)1 (dedicated)

VPS IP Inventory

IPAssignment
199.167.200.52Main/Shared (WHM default)
199.167.201.52Available
199.167.202.209Available
199.167.203.234Available
67.222.9.109thedream (dedicated)

See Pvdify Control Plane for API, CLI, and Admin UI documentation.