lathe docs

Supabase alternative

A Supabase alternative when you want one machine and one flat bill.

Supabase gives you a broad platform and a generous way to start. Lathe makes a different trade: your app, its Postgres and its sign-in run together on one dedicated machine of your own, at one fixed monthly price. This page is for the projects that use the database, the sign-in and a place to run the app - and would rather know the bill in advance.

The difference is the model.

Supabase: a broad platform, with meters past the included usage
Supabase Pro starts at $25 a month and includes 100,000 monthly active users, 8 GB of disk per project and 250 GB of egress; past those, usage is billed. Compute is sized separately: the $10 of compute credits included with a paid plan each month covers one Micro instance, and every project runs a dedicated Postgres of its own. Supabase's own billing docs describe a paid month as a fixed subscription plus variable usage fees, so the final bill depends on how many users sign in, how much data you store, how much traffic leaves and which compute size each project runs.
Lathe: the plan is the invoice
One machine of your own, one price. The RAM, the NVMe storage, Apps, Auth, Postgres, Redis, CouchDB, NATS, backups, connections, requests and 20 TB of traffic a month are in it. Four plans, $15 to $89 a month: a bigger workload needs a bigger plan, but a bigger user count never adds a line to the bill.
The app runs beside its data
Lathe pulls a prebuilt linux/amd64 image from your registry and runs it on the same machine, with every engine's connection string in the app's environment. A deploy starts the new version beside the old one and moves traffic to it after its health path answers. Connect the GitHub repository that builds the image and a green workflow deploys it, or call the deploy endpoint from any CI.
Sign-in that keeps your client
Auth is built on the open-source Supabase Auth server, with the users in the auth schema of your own Postgres: supabase-js and the Supabase auth clients work unchanged against its URL and anon key. Email links and codes, passwords, OAuth providers, TOTP, passkeys, security keys, sessions and refresh tokens are supported. Auth needs Postgres and the apps engine on the same machine - it is not a standalone auth service.
One way to run it
The portal, the REST API and the MCP server reach the same operations: create an instance, configure engines, deploy apps, rotate credentials, restore a backup or inspect a job from whichever fits the work. An AI agent can provision and operate the stack; payment still goes to a person, and destructive operations ask first. lathe.live itself runs this way, deployed from a push like any customer app.
What you give up
A free tier. Read replicas, automatic failover, a standby or a presence in several regions. Managed object storage, Edge Functions, Realtime and the rest of Supabase's wider suite. Autoscaling. Shell and Postgres superuser access. Enterprise compliance, SLAs and a large team's support. Lathe is early and run by two founders, both builders solving a problem they personally face: support is by email, answered within 24 hours on business days; each instance is one machine; backups run daily, 7 kept, with the latest one restored and checked monthly. If those trade-offs do not fit the workload, do not move it.
What comes across unchanged
Row-level security, extensions, roles and SQL are Postgres features, not Supabase ones - they come with you. And the way out is the same as the way in: standard credentials, pg_dump, a restore anywhere. Your data is yours, at full speed, for nothing.

Good for

  • You have a container image and want it running beside its Postgres
  • You want sign-in your supabase-js front end keeps working with, and no price per user
  • You would rather pick a machine size than estimate compute, storage, egress and user overages
  • You want standard Postgres credentials and pg_dump, not a new database interface
  • You are comfortable with one machine as the failure and scaling boundary

Questions

How do I move a Supabase database to Lathe?

Create a Lathe instance with Postgres, export the existing database with pg_dump and restore it through the instance's direct Postgres port. Test extensions, roles and application queries before changing production traffic. The 20 TB of traffic included covers the move many times over.

What about my Supabase Auth users?

Switch on Apps and Auth on the same instance and point the Supabase client at the Lathe Auth URL and anon key - the supabase-js calls stay the same. Moving existing auth data and provider configuration is a staged job, not a click: validate users, redirect URLs, SMTP, OAuth credentials, templates and token behaviour in a test environment before cutover, and ask for help if existing auth records need to move with the database.

How does the app itself move?

Build it as a linux/amd64 image, push it to your registry and add it to the Apps engine - the database and engine connection strings arrive in its environment. Point a test domain at the machine and verify health checks, background jobs and uploads. Cut DNS over only after the database, the sign-in and the app pass production checks, and keep the old project up through the rollback window.

Do I lose row-level security?

No. RLS is a PostgreSQL feature and works the same on Lathe. The auth.uid() convention reads a session variable that Supabase's API layer set from the token; without that layer your app sets it, one SET per request, or checks the token in code.

Are the Supabase numbers on this page current?

They were checked against Supabase's pricing page and billing documentation on September 11, 2026: Pro from $25 a month with 100,000 monthly active users included, then $0.00325 each; 8 GB of disk per project, then $0.125 per GB; 250 GB of egress, then $0.09 per GB; $10 of compute credits a month, covering one Micro instance. Check them again before quoting them - pricing pages change.

Is there a free tier?

No. Mini starts with a 14-day trial and no card; keep it past the trial and the first month is charged then.

Read next: Flat-price managed database, No egress fees, Never paused, never metered, Self-hosted VPS or managed, pgvector on your own machine, Neon alternative, Moving a Postgres database, Redis beside Postgres, A database for side projects, One machine, every engine, App hosting beside the database, Sign-in without a price per user, Move off Supabase, keep the client; all of them in the guides. Every number on this page comes from the pricing page's facts.

The app, the database and the sign-in.One machine, from $15 a month.

Live about 90 seconds after checkout. Cancel any time; Mini starts with a 14-day free trial.

Start free - 14 days, no card needed