dply
Features
One control plane for the servers you own — provision or bring your own, deploy from git, and manage TLS, databases, cron, firewall, and backups. Cloud and Edge hosting add container apps, serverless functions, and managed realtime under the same org.
How everything fits together
One hierarchy, one trust boundary — access and data flow through a single chain.
Organization
01Every server, site, and credential belongs to an org. Invite people, switch context, and bill the whole team on one plan.
Credentials
02Cloud tokens and keys live encrypted in the org vault. Members run real workflows without copying secrets locally.
Servers
03Provision from supported clouds or register any box over SSH. One inventory for commands, health, and config.
Sites & ship
04Map domains to runtimes, wire git, and deploy from the UI, a webhook, or your CI—every release tracked.
The mental model: the organization is the trust boundary. Credentials never leave it, servers and sites inherit it, and the audit log records who did what—across every surface.
Deploys you can trigger, track, and roll back
Git in, releases out — every path runs the same code over SSH into the same history.
Same deploy from UI, git, or CI
A push, a button, or an org-scoped API call all hit the same flow. Keep CI for build and test; let dply push to the runtime.
Atomic releases
Each deploy is a fresh release directory with the current symlink flipped on success—no half-deployed states.
Rollback without heroics
When a release misbehaves, flip back to a prior one from history—no SSH-around-until-it-works.
Env & secrets per site
Per-environment .env content and deploy keys are encrypted at rest and applied during the deploy.
Laravel-friendly
Octane ports, scheduler toggles, post-deploy commands, and release retention—configured next to the site, not in a playbook.
The server record is your control plane
Day-two operations — provision from a cloud or attach any box over SSH, then operate it without leaving the console.
Remote execution
Run shell commands over SSH from the dashboard for quick fixes—no keys handed out to every laptop.
Health checks
Point at an HTTP endpoint and track whether the service answers, with status next to the server.
Databases
Create databases and users on the box (MySQL, MariaDB, PostgreSQL) over SSH, kept with the server.
Cron, queues & workers
Managed crontab blocks, Supervisor programs, and dedicated Horizon worker pools—queue config, balancing strategy, and retry settings are environment-driven and live-editable from the panel.
Firewall
Declarative UFW rules with presets and templates—open the ports you mean to, with a history you can review.
Metrics
CPU, memory, disk, and load with historical charts and deployment correlation in the same place.
Sites, TLS & runtimes
From hostname to HTTPS.
A site is how traffic reaches your code—hostname, runtime, document root, and deploy settings, all bound to the server it runs on.
- PHP-FPM, Node behind a reverse proxy, or static/HTML
- Certbot / Let's Encrypt with certificate status
- GitHub, GitLab & Bitbucket via OAuth
- Edge & Cloud sites — skip the server entirely (see below)
Runtimes
Pick PHP, Node, or static per site—frontend and backend live on the same inventory, with domains and env attached to each.
Nginx & SSL
Provision vhosts, add custom snippets, and keep HTTPS part of the site lifecycle—not a weekend chore.
Git & webhooks
Wire a repository and branch, vault the deploy key, and build on push via a signed webhook your CI can call too.
Per-environment config
Encrypted .env, post-deploy commands, and extra Nginx config sit beside the site they belong to.
Edge & Cloud hosting
Code without a server — billed, governed, and deployed from the same control plane as your VMs.
Cloud apps
App-first PaaS backed by DigitalOcean App Platform or AWS App Runner. Deploy from git—no server, no OS, no Nginx config to manage.
Serverless functions
HTTP web functions via DigitalOcean Functions. Create, deploy, and invoke from the dashboard—billed flat per function, no cold-start infrastructure to provision.
Managed Realtime
A dply-hosted Pusher-compatible WebSocket relay built on Cloudflare Workers and DigitalOcean. Drop-in replacement for Pusher or Laravel Reverb—billed through dply, zero infra to run.
CDN & edge storage
Global Cloudflare CDN with R2 object storage and KV backing Edge sites. Assets, purge, and edge config are managed alongside the app—not in a separate provider console.
Backups, rollback & recovery as one story
Confidence, not just deploy buttons.
Backups with ownership
Define what to capture for databases and files, where archives land, and what restore path the team follows.
Deployment history
Every release is recorded with its output, so rollback is obvious and the timeline is easy to trace.
Migration as a guided op
Move a site or rebuild a server with deploy settings, backups, health checks, and runbooks already in one home.
Teams, billing & projects
People & coordination — multi-tenant by design.
Your production org stays separate from personal experiments, billing rolls up per organization, and projects group a product stack into one operating surface.
One plan, whole org. Trials and limits—how many servers and sites you can run—are counted for the entire organization. There's no per-site line on your invoice. Your profile, 2FA, and OAuth stay personal and follow you across every org.
In-app invitations
Bring teammates in through secure invite links—access granted in the app, not over Slack with raw tokens.
Activity & audit
Review who changed what across infrastructure so production changes are easy to trace.
Project control plane
Grouped health, shared variables, notification routing, and runbooks for a whole product area.
Alerts & routing
Notification channels, event routing, quiet hours, and webhook-friendly delivery to the right operators.
An API and a CLI behind every action
Scriptable platform — CI pipelines, agents, and scripts run the same operations as the dashboard.
OpenAPI 3 spec
Sites, deployments, previews, domains, cache purge, usage, and logs in one file—generate clients, mock for tests, drop into Postman or Bruno. View the spec
Org-scoped tokens
Granular abilities (edge.read, edge.deploy, edge.write), minted in Settings and revocable anytime. The CLI stores them in your OS keyring.
The CLI is a PHP binary—install via the one-liner and authenticate through the OAuth device flow. Same code path as a GitHub webhook or a button click—no dashboard-only features to give up.
What's included today
No marketing asterisks — the honest state of each area.
Supported Partial / different model Roadmap / use recipes
| Area | In dply |
|---|---|
| Server provisioning | Supported — Create or destroy servers via DigitalOcean, Hetzner, Linode, Vultr, UpCloud, AWS EC2, Azure, Oracle Cloud, and more; attach Custom servers over SSH. The OS and base image stay yours—no resident agent. |
| Git deploys & rollbacks |
Supported — Git remotes, signed webhooks, deploy hooks, atomic deploys with a releases/ directory, and rollback to a prior release.
|
| PHP / Laravel / Node / static | Supported — Site types for PHP-FPM, Node reverse proxy, and static; Laravel options like scheduler, Octane, and env in the deploy flow. |
| Edge & Cloud hosting | Supported — Container apps on DigitalOcean App Platform or AWS App Runner via a unified EdgeBackend. Deploy from git without a server, Nginx config, or OS to maintain. Cloudflare CDN, R2 object storage, and KV included. |
| Serverless functions (FaaS) | Partial — HTTP web functions via DigitalOcean Functions—create, deploy, and invoke from the dashboard. Multi-language adapters and package-level features are in progress. |
| Managed Realtime | Supported — Pusher-compatible WebSocket relay built on Cloudflare Workers and DigitalOcean. Drop-in for Laravel Echo / Reverb, billed through dply, no relay infra to operate. |
| Databases (MySQL, MariaDB, PostgreSQL) | Supported — Create databases and users on the server over SSH through the provisioning paths. |
| SSL (Let's Encrypt) | Supported — Certbot over SSH for site domains; renewal follows the server's certbot setup. |
| Firewall (UFW) | Supported — Per-server UFW rules with presets, templates, apply, status, and recent history. Hetzner cloud firewall managed via provider API. |
| Cron & Supervisor | Supported — Managed crontab blocks and Supervisor programs tied to servers and sites. |
| Worker pools & Horizon | Supported — Dedicated queue-worker servers with managed Laravel Horizon config. Queues, processes, balancing strategy, memory limit, and retry settings are environment-driven and live-editable from the panel. |
| Monitoring (CPU / RAM / disk) | Supported — Server metrics, historical charts, deployment correlation, diagnostics, and project-aware drilldowns. |
| Backups | Supported — Database and file backup planning, storage destinations, retention, and restore-oriented guidance. |
| Teams & audit | Supported — Organizations, invitations, roles, and audit-log entries for infrastructure actions. |
| WordPress | Partial — Run WordPress as a PHP site; there is no dedicated WP installer or WP-CLI panel today. |
| OS hardening (Fail2Ban, auto-updates) | Supported — Fail2Ban and unattended-upgrades (security-only, no auto-reboot) are configured at provision time, alongside UFW and TLS. Deeper, image-specific hardening can still live in server recipes. |
| Redis & extra services | Recipes — Install and configure on the server outside the dedicated DB wizard, or encode it in server recipes. |
Security & account hygiene
More than a password.
Encrypted secrets
Deploy keys, webhook secrets, and env payloads are encrypted at rest.
Two-factor auth
Turn on 2FA once—it protects login across every org and site you can reach.
Governed API access
Org-scoped tokens and granular abilities replace long-lived root creds on laptops.
Verified identity
OAuth sign-in and a verified email; org roles still decide what you can change.
Curious what it costs? View pricing
See it in your account
Connect a provider, create your first server, and ship a real deploy—on infrastructure you already control.