63 comments

[ 3.0 ms ] story [ 75.7 ms ] thread
Is this some sort of supabase but with sqlite and without the operational complexity?
This is an amazing project, can't wait to see the 1.0
Apparently 1 file just means a static go binary with a bunch of separate assets compiled in.

I guess for some reason I was hoping for source code that was only one file.

It got some good discussion back in January, 2024: https://news.ycombinator.com/item?id=38898934

There have been a ton of releases since then. It looked like a pretty interesting project at the time. It made me want to look for a project to use it for but I never got around to it.

I'd be interested to hear from people who have been using it and how keeping up with the releases has been (compatibility / breaking changes in API, ease of migration, issues, etc).

> PocketBase is an open source backend consisting of embedded database (SQLite) with realtime subscriptions

I am not sure I understand—is this a wrapper around SQLite?

Trailbase is the same concept, but written in Rust instead of Go.
Been following this for some time now and it's a real delight to use. SSE subscription is really nice.
I found the real time (SSE) very buggy, unpredictable and hard to debug.
Whats the method to maintain a git repo of JS and unit tests? I remember a team with Firebase copy pasting code from dev to prod and between "modules" within an env and making a ton of mistakes.
Is this really realtime?

From looking at the description it sounds more like subscriptions to events of data changes that are dispatched close to the data operation

How would realtime even work for a networked system going over tcp?

https://en.wikipedia.org/wiki/Real-time_computing

Different kind of real-time computing. This is referring to data updates being streamed to other subscribed clients automatically (if you choose to implement that).
I can vibe code this in rust in a day most
I am curious to better understand the benchmarks against simple SQLite, especially under typical load. Any level of latency will be an unnecessary overhead.
Database, admin, auth... is this some kind of Go's Django ?
I've been trying out Pocketbase on a side project idea. I'm super impressed!

Having worked for many years on Django projects, Pocketbase seems like a perfect fit for those small to medium sized projects for which you don't want to create and maintain a traditional backend for.

Happy to answer any questions.

is it suitable to maintain internal company KB? small size 15-20 people tech team
For those unfamiliar: this is a backend server you can configure via a GUI, so you can get a working backend with little or no code. It’s great for quick prototypes, MVPs, and simple apps. The concept was popularized by Firebase.
love it. been using for personal projects.

some things that still need to be done before v1 launch:

- easy data migration in and out (right now is a pain if its large volume of data from other DB eg firebase or sqlite!)

- API/programmatic setup of tables (right now its only via UI making it hard to setup large complex tables with variable permissions)

- Multi-instance: easiest is to have another pocketbase in "mirror" mode that it updates once a day or whatever with primary (primary > secondary method like in mongo is a great mechanism, with some kind of voting for primary)

There was somebody who was using one of the various sqlite replication tools to do multi-instance pocketbase. I can't remember if it was LiteFS or dqlite or something else, but I remember it scaling pretty well. The majority of applications aren't going to outgrow single-instance sqlite though.

Also, you can do programmatic setup of tables with migrations: https://pocketbase.io/docs/go-migrations/ (also available in JS). I can't remember if pocketbase will automatically write migrations to disk for you or if there's a flag you need to turn on, but you can generate those migrations on a local instance, commit them to VCS, deploy them somewhere, and either run a command to run the migrations or turn on auto-migrate (which does what you'd expect).

I've built OpenSOHO using this, and it has been an amazing timesaver! Even though I modified it a bit to reuse the backend. It's clearly not what it's made for, but it wasn't too hard either. If you have a look at the screenshot, you'll recognize the Pocketbase pedigree immediately.

https://github.com/rubenbe/opensoho/

Hmmm… firebase clones are many and varied.

Whats special about this one?

Being a single file binary doesnt impress me; thats true of many projects in many langauges.

It seems nice you can use it as a go framework if you happen to use go, but Im not really compelled by the “it doesn't scale at all” aspects of it.

Someone whos used some other similar stuff comment on why this over any of the others, eg. self hosted superbase?

I'll give it a try, but I'm not a fan of the SPA approach. Try using it with Templ and server-side rendering (SSR) instead of any JavaScript framework.

If anyone has already done this and can share their experience, I would love to hear about it!

This is 100% sick. Have been use this for one year.
(comment deleted)
Postbase uses PostgreSQL and BetterAuth. No GUI yet, but it's in the plan and will be called Admin (Panel).

I had the same instinct of using SQLite, but then, after a bit of research, PostgreSQL seemed a better alternative for serious projects.

We use pocketbase for a lot of our internal LoB apps and it's been bulletproof. Saved us a lot of time and money.

I'm a control freak and I like well defined endpoints with well defined performance characteristics, so the expressiveness of the API is in my mind a drawback for anything public facing, but it's undeniably a great experience on the front end, and if you design your tables with the API and filters in mind you can get to a good place.

Overposting is another thing to be aware of when the db is so ergonomically shaped to the front end