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

01

Every server, site, and credential belongs to an org. Invite people, switch context, and bill the whole team on one plan.

Credentials

02

Cloud tokens and keys live encrypted in the org vault. Members run real workflows without copying secrets locally.

Servers

03

Provision from supported clouds or register any box over SSH. One inventory for commands, health, and config.

Sites & ship

04

Map 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.

$ git push origin main
# signed webhook fires
→ release 184 · live · audited

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.

dply — terminal
# install & sign in via OAuth device flow
$ curl -fsSL https://dply-cacfcae9.on-dply.cc/cli/install.sh | bash -s -- --login
✓ authenticated · token stored in keyring
$ dply edge deploy
→ release 184 deploying… done in 12s
$ dply server system-users
deploy web-1 active

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.