Run your SaaS product on a platform of your own

scaledbox is a Go module you build your own SaaS platform from, under your product's name. Your repository imports it and builds two binaries: shop-ops, your operator's CLI and your platform's server, and shop, the CLI you give your customers. Your platform runs on your own Hetzner servers and Cloudflare account, with your names on everything your customers see.

It runs everything a SaaS product needs: your services, your own domains with HTTPS, Postgres, object storage, queues, scheduled jobs, logs, backups, uptime checks and a status page. And it runs your customers' apps: each customer is a tenant, each of its apps' environments a sandboxed box, asleep when idle, within limits and at prices you set.

Who it is for

Builders of SaaS products who want a platform like Fly.io or Render, under their own brand, for their product and their customers' apps: an AI app builder deploying the apps it generates, a site builder hosting its users' sites.

Three modes

Get started

Getting started goes from an empty repository to your first deploy: the module in go.mod, your brand, the two cmd/ mains, the cluster file, sync, then a deploy through your operator's CLI. Your platform explains the modes and how to pick one. The documentation has the rest.

Run boxes on your machine

The scaledbox CLI runs a box on your machine as a deploy would (scaledbox dev), on the latest scaledbox's runtime, which it downloads once and your own CLIs' dev can run too (macOS and Linux, amd64 and arm64; into ~/.local/bin, no sudo):

curl -fsSL https://scaledbox.dev/install.sh | sh

Run it again to update. Downloads lists its files and their SHA-256s; Develop locally says how your CLIs use it.