Moving a production Supabase project to self hosted on Elest.io for EU sovereignty reasons.
The database migration steps are fairly documented, but not finding much on edge functions, we have 80+ in production and the self hosted edge runtime is still in beta, which is a concern. Has anyone successfully done this migration in production? Curious about:
How you handled edge functions at scale
Any gotchas with the database restore process
What you wish you'd known before starting
Do's and don'ts are very welcome.
The user is migrating a Supabase project to a self-hosted environment on Elest.io for EU sovereignty. They seek advice on handling edge functions at scale and potential issues with the database restore process. The user expresses concern about the self-hosted edge runtime being in beta. Responses include a how-to guide and personal experiences from others who have automated similar migrations.
I've recently added a how-to here - https://supabase.com/docs/guides/self-hosting/self-hosted-functions :) (and this too).
There could be gotchas, it's hard to predict everything, but I've been adding the most common ones to the troubleshooting sections across the how-to's.
If you are on Pg 17, make sure to read this one - the default in self-hosted Supabase is still Pg 15.
You can also join the Supabase's Discord server and ask for help if needed.
I don't think "self-hosted edge runtime is still in beta," though.
Hope this helps.
Youre an angel
I’m currently building an internal tool for automated migration from Supabase Cloud to a self-hosted setup.
I originally built it purely for myself because I needed to migrate ~50 cloud projects to self-hosted infrastructure, and I couldn’t find any reliable or complete solutions online.
The process is fully automated and handles end-to-end project migration. All I need to do is provide SSH access to my VPS, and the system takes care of provisioning the environment and transferring everything — including database schema, data (via pg_dump/pg_restore), RLS policies, auth configuration, and storage buckets.
Along the way, I ran into quite a few edge cases, so it’s reassuring to see others dealing with similar issues.
I also implemented a proper workflow for Edge Functions. That part was significantly more complex than the database migration itself, mainly because self-hosted Supabase doesn’t provide a native API for deploying functions — so I had to handle deployment directly on the server level.
Maybe once I finish testing the service, I’ll let others try it—if it’s still relevant by then.