lathe

Move off Supabase, keep the client

Keep the client.Move the rest.

The usual reason a project stays on a platform is the sign-in code: every page uses the client, and rewriting it is a month. Lathe's Auth engine is built on the open-source server behind Supabase Auth, so supabase-js talks to it unchanged. The database moves with pg_dump, the users move with their identities, and the front end changes a URL and a key.

The move, in order.

1. The database
pg_dump from the platform, pg_restore into the Lathe instance over the direct port. Row-level security, roles and extensions are Postgres and come along.
2. Sign-in
Switch the Auth engine on; it needs Postgres and the apps engine on the same machine. Its users live in an auth schema of the same layout, so users and their identities move table to table. Tell us before the run and we will help.
3. The front end
createClient with the new URL and the anon key from the instance page. signInWithOtp, signInWithOAuth, getSession and the rest are unchanged.
4. The providers
Register the new callback address with GitHub, Google or whichever providers you use, and put the client ids and secrets in the engine's settings.
What does not come
Storage buckets, edge functions and realtime are platform services. An app on the machine takes the place of functions; files and realtime need a home of their own.
What you gain
One flat price for the database, the sign-in and the app, with nothing per user, nothing per gigabyte and nothing that pauses.

Good for

  • An app built on supabase-js that only ever used Postgres and auth
  • A project whose bill grew with its users
  • A team that wants its users in a database it can query
  • A move that has to happen without a front-end rewrite

Questions

Do my users have to reset their passwords?

No. Password hashes are standard and move with the users, so nobody is asked to reset.

Does auth.uid() still work?

The function reads a session variable that the platform's API layer set from the token. Without that layer your app sets it, one SET per request, or checks the token in code against the published keys.

Is it the same software?

Built on the same open-source server, pinned by version and run for you beside your database. Lathe sells it as Auth; the settings are ours, the protocol is theirs.

Can I keep sign-in on Supabase and move only the database?

Yes. The database moves the same way and your app keeps talking to Supabase for sign-in; nothing on the machine needs the Auth engine on.

Read next: Flat-price managed database, No egress fees, Never paused, never metered, Self-hosted VPS or managed, pgvector on your own machine, Supabase alternative, 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; all of them on the blog. Every number on this page comes from the pricing page's facts.

The database and the sign-in, off the platform, from $15 a month.

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

Start free - 3 days, no card needed

Are you sure?