Use case · The Modern VPS

A VPS, with
batteries included.

An exe.dev VM is a Linux box you SSH into. It comes with a hostname, a valid TLS cert, key-only SSH, and a private HTTPS front door—so you can stop writing the same nginx + certbot + ufw config you’ve written ten times.

$ ssh exe.dev new myblog
vm myblog ready in 0.8s
$ ssh blog.exe.xyz \
    'cd /srv && python3 -m http.server 8080'
# served at https://blog.exe.xyz/ — TLS already on, login required.
$ ssh exe.dev share set-public blog
blog.exe.xyz is now public.

HTTPS, handled.

Each VM gets a hostname at vmname.exe.xyz with a real certificate. The exe.dev edge terminates TLS and forwards to a port on the VM—by default the smallest TCP port your Dockerfile exposes, otherwise whatever you set with share port.

You can also point your own domain at it. No certbot, no ACME challenge, no renewal cron.

  • Per-VM hostname under exe.xyz, or bring your own domain.
  • HTTP/2, HSTS, modern cipher suites, all at the edge.
  • X-Forwarded-Proto, X-Forwarded-Host, etc. forwarded intact.
  • WebSockets, SSE, and long-lived connections supported.

Private by default.

A new VM’s HTTP proxy only answers to accounts you’ve granted access. Anyone else hitting vmname.exe.xyz gets redirected to exe.dev’s login page; if they’re not on the share list, the request never reaches your app.

That means you don’t have to put a half-built dashboard, a staging database, or a debug endpoint behind its own basic-auth or VPN to keep it offline. When you’re ready, share set-public opens it to the world.

Sensible defaults.

The fresh-VM checklist most ops guides start with—already done.

Key-only SSH

Password auth is disabled. The only way in is a key registered on your exe.dev account.

No exposed ports

The only thing facing the public internet is the exe.dev HTTPS proxy on 443. SSH is brokered through exe.dev.

Real VMs

KVM-isolated, not a shared-kernel container. Each VM has its own kernel and its own disk.

Secrets at the proxy

Integrations inject API keys into outbound HTTP calls. Your app code stays free of credentials.

Maintained images

The default exeuntu image tracks upstream Ubuntu security updates. Or run any Docker image.

SSH-signed API

Every API call is signed by an SSH key. Add a key to rotate, delete one to revoke.

One pool. Many VMs.

Traditional VPS pricing is per-server: every staging box, every side project, every throwaway repro VM is its own line item. Most people end up running fewer VMs than they’d like.

On exe.dev, your plan is a pool of CPU, memory, and disk that any number of VMs can share. Run one big box or fifty small ones; the bill is the same. A stopped VM keeps its disk but releases its CPU and memory back to the pool.

  • Personal: $20/mo — 50 VMs, 100 GB pooled disk.
  • Team: $25/user/mo — share burst capacity with teammates.
  • Bigger plans: share more CPU and RAM across the same fleet.

See pricing.

ssh exe.dev new
and get back to work.