Self-host vs Mezzanine Cloud
Mezzanine comes two ways — the software is identical; the difference is who runs it.
Self-hosted (open source)
Download, run it on your own server, manage unlimited everything. Free forever, MIT-licensed.
- No server limit, every feature, no plan badge
- Your data + secrets never leave your machine
- You patch, back up, and update it
- Start at Installation
Mezzanine Cloud (hosted)
We run your Mezzanine for you. Sign up at try.mezzanine.cloud, get 1 server free, upgrade for more.
| Open Source | Hosted Free | Hosted Starter | Hosted Pro | |
|---|---|---|---|---|
| Price | $0 (self-host) | $0 | $19/mo | $79/mo |
| Adopted servers | unlimited | 1 | 10 | unlimited |
| We host + update | — | ✓ | ✓ | ✓ |
| Backups + monitoring | you | ✓ | ✓ | ✓ |
| Support | community | community | priority |
See live pricing on mezzanine.cloud/#pricing.
How hosting works (architecture)
Mezzanine Cloud is instance-per-tenant: each signup gets its own isolated Mezzanine container + its own database. No shared multi-tenant database — so one customer can never see another’s servers or credentials. Your hosted panel runs the exact same image you’d self-host.
try.mezzanine.cloud → sign up / manage account / billing<your-slug>.mezzanine.cloud → your own isolated Mezzanine panelIdle free instances hibernate to save resources and wake (~a few seconds) on your next visit. Paid instances stay always-on. Full design: the SaaS architecture doc in the repo.
Billing & upgrades
Hosted billing runs on Razorpay (INR, monthly subscriptions). From your account dashboard:
- Pick a paid plan → Upgrade opens Razorpay Checkout (cards, UPI, netbanking).
- On payment, a signed webhook updates your plan and raises your server limit automatically — your panel re-provisions in a few seconds with the new quota.
- Cancel anytime from the dashboard. You keep paid limits until the current cycle ends, then drop back to Free.
We never store card data — Razorpay holds it; we keep only the subscription reference. Self-hosted instances have no billing and no limits at all.
Operators self-hosting the hosted stack: billing is env-gated on
RAZORPAY_*keys. Without them the plan cards still render (display-only) and checkout returns503— so the control plane runs fine before you wire payments. Setup steps are indeploy/saas/README.md.
Custom domains
Don’t want you.mezzanine.cloud? Map your own hostname:
- Dashboard → Custom domain → enter
panel.yourcompany.com. - Add a DNS CNAME:
panel.yourcompany.com→you.mezzanine.cloud. - Click Verify DNS — we confirm it points here, add the route, and issue a TLS certificate (HTTP-01, usually within a minute).
Your panel then answers on both the slug and your domain. Remove it anytime to drop back to the slug.
Data export — never locked in
Dashboard → Your data → Export downloads a .tgz of your panel’s full SQLite database + uploads. It’s the exact format a self-hoster runs, so you can lift-and-shift to your own server whenever you like. No lock-in is a first-class feature, not an afterthought.
Onboarding
When you sign up, your panel is provisioned with your account as the owner admin automatically — no “create the first admin” screen, no extra password. You land straight in your workspace.
Which should I pick?
- Want control + zero cost + already comfortable with a VPS? Self-host.
- Want it to just work, with backups + updates handled? Hosted.
- You can move between them — both use the same SQLite data format, so a hosted account can export and self-host later (and vice versa).