Pricing

One config file defines these plans. Change it, and this page — and Stripe — follow.

Simple, predictable pricing

Start free, upgrade when you are ready. No per-seat surprises, no usage meters.

Free

For trying things out

$0/month

Free forever

  • 1 project
  • 1 team member
  • Community support
Start for free
Most popular

Pro

For serious products

$19/month

or $190/year — save $38

  • Unlimited projects
  • 10 team members
  • Priority support
Get Pro

Frequently asked questions

Everything you might want to know about Mission Control.

What do I need to deploy this?

A VPS (any provider — Hetzner, DigitalOcean, OVH…) with Docker installed. The included Docker Compose setup runs the app, Postgres and supporting services behind Caddy with automatic HTTPS. A $5–10/month box is plenty to start.

How is this different from managed backends like Supabase?

Managed backends charge you per user, per row or per request, and hold your data in their cloud. Here everything — auth, database, storage, jobs, realtime — runs on infrastructure you own. Your only recurring cost is the server.

Can I still use managed services if I want to?

Yes. Every integration is pluggable: swap the S3-compatible storage for R2 or S3, use Resend instead of SMTP, point DATABASE_URL at a managed Postgres. Self-hosted is the default, not a requirement.

What is included in the codebase?

Next.js App Router with TypeScript, Better Auth with organizations and magic links, Stripe subscriptions, Drizzle ORM with Postgres, transactional email, S3-compatible file uploads, background jobs, realtime updates and an admin panel — all configured from a single config file.

Do I need Stripe to use the free plan?

No. The app runs fully without Stripe keys — billing features simply stay dormant until you add them. Configure Stripe only when you are ready to charge.

Is my payment going to renew automatically?

Paid plans are standard monthly or yearly subscriptions handled by Stripe. You can cancel anytime from the billing page and keep access until the end of the paid period.