Deploy anything on your own cloud

Point DevOps Buddy at a Git repo or paste a docker-compose. It provisions the VM, wires DNS and HTTPS, and keeps your apps running — on infrastructure you own, at cloud-provider prices.

Start deploying — free Read the docs
Free plan · no credit card · your servers, your data
$ git push origin main
buddy › cloning github.com/acme/store…
buddy › nixpacks detected php · composer install ✔
buddy › building image buddy-app-store ✔
buddy › DNS store.acme.com → 34.9.112.4 ✔
buddy › TLS via Let's Encrypt ✔
✔ live at https://store.acme.com  (58s)

Works with your cloud

Connect an API token and Buddy provisions VMs for you — or install the agent on any Linux server you already run.

Google CloudGoogle Cloud DigitalOceanDigitalOcean HetznerHetzner VultrVultr DockerAny VM (BYO) AWS — soon Azure — soon
GitHubGitHub deploys CloudflareCloudflare DNS Let's EncryptLet's Encrypt TLS TraefikTraefik ingress

Live in three steps

From zero to a production URL in minutes — no Dockerfiles, no nginx configs, no SSH.

1
Connect your cloud

Add a provider API token and pick a region and size — Buddy creates the VM, installs Docker, Traefik and the agent. Or run one command on a server you already have.

2
Point at your code

Paste a Git URL (PHP, Node, Python, Go… built with Nixpacks, composer/npm included) or a docker-compose file for anything else.

3
Ship it

Pick a domain and subdomain. Buddy sets the DNS record, gets a TLS certificate and routes traffic. Deploy, restart, logs and metrics from the dashboard.

Everything you need to run production apps

The features of a managed platform, without handing your infrastructure to someone else.

Any container, any stack

If it runs in Docker, it runs here. Multi-service compose apps, databases, workers — attached to one shared ingress network per VM.

Deploy from Git

Buddy clones and builds on your VM with Nixpacks — composer install, npm build, pip install handled automatically. No Dockerfile needed.

🔒
Automatic HTTPS & DNS

Traefik + Let's Encrypt on every VM, Cloudflare DNS records managed for you. Your app is live at its domain in minutes.

Backups & 1-click restore

App data is archived to a bucket in your own cloud project over pre-signed URLs — credentials never touch the VM. Restore any snapshot with one click.

Server & app metrics

CPU, memory and disk per server, plus per-app container metrics straight from the agent — refreshed every 20 seconds.

Staging clones

Clone any app to a staging copy — same code, own subdomain — with one click. Test before you touch production.

🛡
Two-factor auth

TOTP 2FA with any authenticator app. Cloud credentials are encrypted at rest; agents authenticate with per-server tokens you can revoke.

Outbound-only agent

The agent polls out over HTTPS — no SSH keys to share, no management ports open on your servers.

$
No infrastructure markup

You pay your cloud provider directly for the VMs. Buddy never resells compute or locks your workloads in.

Simple pricing that grows with you

Start free. Upgrade when you need more servers — never pay a markup on infrastructure.

Free
$0/month
  • 1 server
  • 1 custom domain
  • Unlimited apps
  • Automatic HTTPS + DNS
  • Git & compose deploys
  • Server & app metrics
  • Two-factor authentication
Get started
Coming soon
Pro
$8/server/month
  • Everything in Free
  • Unlimited servers & domains
  • Backups & 1-click restore
  • Staging & app cloning
  • Zero-downtime deploys
  • Streaming logs
Coming soon
Business
$20/server/month
  • Everything in Pro
  • Teams & role-based access
  • Audit log
  • Priority support
You pay your cloud provider directly for the VMs — a typical starter VM costs $4–6/month at Hetzner or Vultr.

Frequently asked questions

What exactly runs on my server?

Docker, Traefik (the reverse proxy that terminates HTTPS), a single ~5 MB Go agent, and your apps as containers. The agent polls the control plane over HTTPS — nothing on your VM listens for inbound management traffic.

Do you have access to my cloud account?

Only through the API token or service-account key you add, encrypted at rest, and only for the operations you trigger (creating VMs, DNS records, backup buckets). You can revoke the token at your provider at any time.

Which languages work with Git deploys?

Anything Nixpacks supports: PHP (composer), Node.js, Python, Go, Ruby, Rust, Java, .NET and more. If your project needs something custom, paste a docker-compose instead — that path supports literally anything that runs in Docker.

What happens if DevOps Buddy goes down?

Your apps keep running. They live on your VMs behind Traefik; the control plane is only needed to make changes. That's the point of bring-your-own-cloud.

Where are backups stored?

In an object-storage bucket inside your own cloud project (GCS today, S3-compatible targets on the roadmap). Transfers use short-lived pre-signed URLs, so storage credentials never reach the VM.

Can I migrate away?

Yes, trivially. Your apps are standard docker-compose projects sitting in /var/lib/buddy/apps/ on your VM. Stop using Buddy and they keep working exactly as they are.

Your cloud. Your apps. Zero ops.

Start deploying — free