Pvdify Control Plane
Pvdify Control Plane
The orchestration layer for app deployments.
Overview
Pvdify provides a Heroku-like experience for deploying containerized applications alongside traditional WHM/cPanel hosting. It consists of:
| Component | Type | Purpose |
|---|---|---|
| pvdifyd | Go daemon | REST API on port 9443 |
| pvdify | Go CLI | Heroku-style commands |
| gh pvdify | GH extension | GitHub-integrated deploys |
| Admin UI | Svelte SPA | Web dashboard at pvdify.win |
Architecture
┌──────────────────────────────────────────────────────────┐│ pvdify.win (Admin UI) ││ Svelte + SvelteKit │└─────────────────────────────┬────────────────────────────┘ │ HTTPS┌─────────────────────────────▼────────────────────────────┐│ pvdifyd ││ Go daemon · Port 9443 · REST API ││ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────────┐ ││ │ Apps │ │Releases │ │ Config │ │ Domains │ ││ └─────────┘ └─────────┘ └─────────┘ └─────────────┘ │└──────────────────────────────────────────────────────────┘ │ │ │ │ ▼ ▼ ▼ ▼ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ Podman │ │ systemd │ │ CF │ │ SOPS │ │ Runtime │ │ Units │ │ Tunnel │ │ Secrets │ └─────────┘ └─────────┘ └─────────┘ └─────────┘Interfaces
pvdify CLI
Heroku-style command interface:
pvdify apps # List all appspvdify apps:create myapp # Create new apppvdify deploy myapp # Deploy current imagepvdify logs myapp -f # Stream logspvdify config:set KEY=value # Set environment variablepvdify ps myapp # Show running processespvdify domains:add myapp.com # Attach custom domainSee CLI Reference for complete documentation.
gh pvdify Extension
GitHub-integrated deploys:
gh pvdify deploy # Deploy current branchgh pvdify status # Check deployment statusgh pvdify logs # View deployment logsgh pvdify preview # Create PR preview environmentSee GitHub Extension for details.
REST API
Full programmatic access:
# List appscurl -H "Authorization: Bearer $TOKEN" \ https://pvdify.win/api/v1/apps
# Create releasecurl -X POST -H "Authorization: Bearer $TOKEN" \ -d '{"image":"ghcr.io/org/app:v1.2.3"}' \ https://pvdify.win/api/v1/apps/myapp/releasesSee API Reference for complete documentation.
Admin UI
Web dashboard at pvdify.win:
- App list with status indicators
- Real-time log streaming
- Config/secrets management
- Domain configuration
- Release history and rollback
See Admin UI for details.
Key Concepts
App Slot Model
Apps are organized into slots — isolated deployment units:
| Field | Description |
|---|---|
name | Unique app identifier |
environment | production, staging, preview |
image | Container image reference |
processes | Process types (web, worker) |
bind_port | Internal port (3000+) |
domains | Custom domain mappings |
env_versions | Config version history |
resources | CPU/memory limits |
healthcheck | Health check endpoint |
See App Model for complete schema.
Release Model
Deployments are immutable releases:
- CI builds image externally (GitHub Actions)
- Image pushed to GitHub Container Registry
- Release created via API/CLI
- Blue-green swap via systemd
- Instant rollback to previous release
See Deployment for workflow details.
Quick Start
# Install CLIcurl -fsSL https://pvdify.win/install.sh | bash
# Loginpvdify login
# Create apppvdify apps:create myapp
# Deploy (after CI builds image)pvdify deploy myapp --image ghcr.io/org/app:v1.0.0
# Attach domainpvdify domains:add myapp myapp.com
# View logspvdify logs myapp -fRelated Documentation
- App Model — Slots, environments, releases
- Deployment — CI/CD and deploy workflows
- CLI Reference — Complete command reference
- API Reference — REST API documentation
- Admin UI — Web dashboard guide