Ubuntu has been the only way onto a Ploi server since day one. Not anymore. Starting today, every Ploi user can spin up a brand-new server on Debian 12 or Debian 13.
If you've been wanting the rock-solid, no-surprises stability that Debian is famous for — especially for long-lived boxes you'd rather not babysit — you can now pick it straight from the dropdown when you create a server.

Pick your distro when you create a server
The server creation flow now groups operating systems by distribution. Ubuntu and Debian sit side by side, each with their supported releases, so choosing the base for your next server is a single click.
Debian 12 (Bookworm) and Debian 13 (Trixie) are both available right out of the gate.
Grouped, clearer dropdown — OS versions are organised per distro instead of one long flat list.
Works the same everywhere — sites, PHP, databases, queue workers, cron, SSL and everything else behave exactly as they do on Ubuntu.
Try it
If you're already on Ploi, head to Create server, open the OS dropdown, and you'll find Debian waiting under its own group. Everything you already know about running sites on Ploi applies — it's the same panel, the same workflow, just on a different base.
If you're not on Ploi yet and Debian is your distro of choice, now's a great moment to give it a spin.
Ubuntu 26
Yes, we've heard you! Ubuntu 26 is coming as well, most server providers have been holding off on supporting so it's rather difficult for us to add it while they don't support it yet. But it seems their all starting to add them slowly so we expect Ubuntu 26 to be released this or next month!
Added
Debian 12 and Debian 13 are now available to everyone when creating a server
Script schedules and actions API endpoints, with plan gating
Valkey now shows up on the Services tab when it's installed
Script actions can now wait for SSH to come back up after a boot, with an optional per-action delay before your script runs
Changing your account password now signs you out of all your other active sessions
Improved
Backup rotation is now idempotent when the remote file is already gone, and per-job paths are isolated to stop concurrent backups racing each other
The backup default filename now includes the backup ID to prevent remote collisions
Hostname validation now accepts IDN and Punycode domains
UpCloud STARTER plans now use the standard storage tier
Auto-responder emails are now suppressed globally via a single mail listener
Global search is smoother — it now remembers your recent results, supports keyboard shortcuts, no longer flickers as you type, and we dropped the laggy modal backdrop blur
Git account selectors now show a clearer account label
More robust VAT number validation when entering your billing details
The login screen now keeps your email filled in after a failed sign-in attempt
Fixed
Resolved a missing AMI error for AWS EC2 in opt-in regions
HAProxy SSL renewal now uses the correct certbot arguments and a safer schedule
Live deploy output keeps its newlines again — deploy line batches are no longer trimmed
Pending SEPA subscriptions are granted provisional access while they settle
Clone-database UI is now correctly gated to WordPress projects
Debian servers on Hetzner now fall back to
deb.debian.orgwhen the Hetzner mirror is unavailableDocker applications now open their Docker management page instead of a generic application page
Cron commands containing quotes or special characters are now escaped correctly
The hidden Let's Encrypt renewal cron entry no longer contains a stray fragment
Script scheduling is now correctly available on the Pro plan