ManyRows is now open source. Run it on your own hardware.
GITHUB ↗

Stop renting
your own users.

Self-hosted auth, roles, feature flags, and runtime config. One binary. Your database. Your domain. Open source.

AGPL-3.0 POSTGRES · MIT-LICENSED SDKS

A login screen
in six lines.

The React SDK gives you useUser(), a pre-built profile dialog, a sign-in component, and live feature flags from the same provider. Server-side, every SDK speaks the same REST.

@manyrows/appkit-react react · npm
github.com/manyrows/manyrows-go go · published
github.com/manyrows/manyrows-node node · source
github.com/manyrows/manyrows-python python · source
com.manyrows:manyrows-java java · source
app.tsx .tsx
import { AppKit, AppKitAuthed, useUser } from '@manyrows/appkit-react'
 
export default function App() {
return (
<AppKit baseURL="https://auth.acme.co" workspace="acme" appId="dashboard">
<AppKitAuthed><Greeting /></AppKitAuthed>
</AppKit>
)
}
 
function Greeting() {
const user = useUser()
return <p>Hello, {user.email}</p>
}

Everything in the box.

Auth, identity, authorization, developer tools, ops. Same binary, same admin UI, same SQL database. No tiers.

ManyRows admin panel: configuring sign-in methods (email, Google, Apple, Microsoft, GitHub, passkeys)

Sign-in

  • Passkeys
  • Google
  • Apple
  • Microsoft
  • GitHub
  • Email + password
  • Magic links
  • Email OTP
  • TOTP · 2FA

Identity

  • Custom user fields
  • Email change & delete
  • Active sessions

Authorization

  • Roles & permissions
  • Environments
  • Feature flags & config

Developer experience

  • AppKit · React + JS
  • Server SDK · Go
  • Server SDKs · others
  • Admin panel
  • Themable UI

Operations & security

  • First-party cookies
  • Webhooks
  • Audit log
  • Custom SMTP
  • IP allowlists
  • CORS origins
  • DPoP & JWT rotation
[01]

Big companies don't store their own users in someone else's database.

Why are you? Imagine paying to give your users away so someone else can monetize their data. Sessions, recovery emails, audit trail. The most sensitive table you own. Keep it in your stack.

[02]

Per-MAU pricing punishes you for shipping.

Hosted auth is fine until renewal. Tier changes can wipe out your runway. Run it yourself; pay for the hardware.

[03]

If you can't read it, you can't trust it.

Open source. Plain SQL migrations. Documented data model. Audit it, patch it, fork it.

One command.
Then it's yours.

One repo, one compose file, one Postgres. The binary embeds its own admin UI; schema, migrations, secrets, and the first admin user all bootstrap themselves.

terminal
# set MANYROWS_FROM_EMAIL in .env, then:
docker compose up -d
# → localhost:8080 · first registrant = super-admin
Deploy to production → View source