OmnibaseOmnibase
Open Source ยท Apache 2.0

The open-source backend for multi-tenant SaaS

Omnibase gives you everything you need to build production-ready SaaS applications: authentication, team management, permissions, and billing. No reinventing the wheel.

Self-hostable
Multi-tenancy, RBAC + ReBAC
Stripe

Building SaaS infrastructure is painful

You've been there. Weeks spent on plumbing instead of building what makes your product unique.

Building multi-tenancy from scratch is tedious and error-prone

Row-level security policies become unmaintainable as complexity grows

Integrating Stripe means weeks of webhook handling and state syncing

RBAC systems are either too simple or require a PhD to configure

Most backend solutions force you to choose between managed convenience and self-hosted control

Everything you need to ship SaaS

Stop rebuilding the same infrastructure. Focus on what makes your product unique.

Multi-Tenancy
First-class tenant context switching with JWTs. RLS policies use auth.active_tenant_id(). Custom roles per organization.
RBAC
Define roles and permissions that make sense for your app. Built on Ory Keto for production-grade permissions without the complexity.
Stripe as Code
Products, prices, coupons, promotion codes, meters, and webhooks - all defined in config files. Push changes with the CLI.
Authentication
Secure auth powered by Ory Kratos. Social logins, magic links, MFA. Configured, not coded.
Storage
File storage with tenant-aware access controls. Upload, serve, and manage files without bolting on another service.
Self-Hosting
Run Omnibase on your own infrastructure with full feature parity. Docker Compose up and you're live.

Developer-friendly by design

Clean APIs that just work. Get productive in minutes, not weeks.

import { Configuration, V1AuthApi, V1TenantsApi } from '@omnibase/core-js';

const config = new Configuration({
  basePath: 'https://api.omnibase.tech',
  headers: { 'X-Service-Key': process.env.OMNIBASE_SERVICE_KEY },
});

// Create a tenant (organization)
const tenantsApi = new V1TenantsApi(config);
const { data } = await tenantsApi.createTenant({
  createTenantRequest: {
    name: 'Acme Corporation',
    billingEmail: 'billing@acme.com',
  },
});

console.log('Tenant:', data.data.tenant.id);
console.log('Stripe Customer:', data.data.tenant.stripe_customer_id);

How Omnibase compares

See how Omnibase stacks up against the alternatives you're already considering.

FeatureOmnibaseSupabase
Native multi-tenancy
Built-in RBAC
Stripe integration
Open source
PostgreSQL

Want more details? Compare with Supabase

Simple, transparent pricing

Start free. Scale when you're ready. No surprises.

Self-Hosted
Freeforever
Run Omnibase on your own infrastructure. Full feature parity, no limitations.
  • All features included
  • Your infrastructure, your data
  • Community support
  • No usage limits
Most Popular
Shared
Freeto start
Managed hosting on shared infrastructure. Great for getting started and scaling up.
  • No infrastructure to manage
  • Scales with your usage
  • Standard support
  • Usage-based pricing as you grow
Dedicated
From $19.99/month
Isolated compute and database for production workloads. Predictable performance, priority support.
  • Dedicated resources
  • Better for compliance requirements
  • Priority support
  • Predictable performance

Built in the open

Omnibase is fully open source under the Apache 2.0 license.

Apache 2.0
Open source license

Ready to ship your SaaS?

Stop rebuilding infrastructure. Start building what matters.