Supabase Is Not Working for Me
After giving it a good trial, Supabase is just not working for me.
I really did put in some effort to learn how this works and to try to run this stack. For a self-hosted setup, Supabase is just not for me. Here’s why:
- Out of the Box Docker Functionality
- Poorly documented issues
- AI Access is not built-in (as advertised)
- Self-Hosted != BaaS
- Scale?
Out of the Box Docker Functionality
They say it’s supposed to work out of the box…
Just clone the code.
Copy your project over.
Run docker compose up
and you’re off and running to the
races!
Want more customization? Configure as needed!
This was not the case for me. I had to heavily mull thru the docs,
configuration, learn the setup. Then on top of that, I HAD to setup my
own domains (e.g. studio.mydomain.com, analytics.mydomain.com,
functions.mydomain.com, et al) because it didn’t do service discovery
properly. I also had to change the network type to bridged
because the native network type obscurred all the services and forced
you to run supabase locally without exposing any services off the host.
I get the security-first aspect of this, but I’m in a firewalled
network. Why lock me into this configuration with no alternative to
expose it from the host, but not to the Internet?
Want to run your own PostgreSQL DB outside of the ecosystem? GOOD LUCK!!!
There’s tons of init scripts that are run on the native db install they don’t mention you need to run and just expect you to know that. I didn’t find out about this until AFTER slamming my head into a brick wall for hours wondering why I’d be getting a bunch of DB connection/permission errors.
Poorly documented issues
This leads nicely into my next point: Issues and errors are poorly documented. I spent more time on StackOverflow and like sites looking for answers than I did out of their own docs. I suppose that is a common theme and I shouldn’t expect too much, but it’s to be discounted that the product wasn’t well enough documented nor working outside of The Happy Path of the cloud solution to be able to overcome issues if you decided to host this yourself.
AI agents are not built-in (as advertised)
The thing that drew me to Supabase in the first place was a Discord channel where they showcased it as an alternative to Firebase. So I bookmarked it for later. The second thing that drew me to it was the AI capabilities that were baked into it. I thought this would be a great opportunity to implement something that had pgvector so I could explore RAG with more practical results!
Did I find AI tools in the dashboard after several tens of hours of tinkering with this to get the dashboard to render?
Hell to the NOOOO!
So, there’s some false advertising there and they need some bigger asterisks indicating this is a cloud-only feature if you sign up for their services.
I require something self-hosted. So this is not going to work for me.
Self-Hosted != BaaS
This leads nicely to my next point: the self hosted product is NOT the same as the cloud product.
Whatever features you get are the scrap leftovers they decide they can open source and the keep all the juicy stuff for themselves and have you pay for it. You can’t even unlock these features in the self-hosted setup by paying for a license to stuff like the AI agent implementation.
Scale?
The saddest part is I wasn’t even able to test this to see how it would handle and respond to stress and to see if it would even scale. I really would have liked to see this performing under something like 1k or even 10k concurrent requests for the hardware it was sitting on.
Better luck next time, I guess 🤷🏾♂️
Conclusion
To end, this is not to poo-poo all over the product. It does well for providing edge functions, log analytics, Postgres functions, “simple” authentication and being a good driver on top of your Postgres database. That is if you are a fan of Postgres. Honestly, I came from a MySQL world. Not that it’s better, just more familiar since it was the default database for PHP (and I hated PHP when I was a PHP dev, hence why I got out of that).
I’m sure if I was OK with the managed cloud solution, I would have a different experience and possibly a different opinion about this. This blog post is more for me than for you as it’s important to document your failures. I don’t want to revisit this in a year going “Why didn’t I choose this?” if later Supabase catches my eye again for something they did and updated. At least this will be a reminder to future-self as to the reason why I chose the direction I made at this time.
Comments
Post a Comment