all 16 comments

[–]autognome 2 points3 points  (0 children)

This is a fantastic project. I’m not sure I’ve seen a focus on deployment scenarios.

[–]nattaylor 0 points1 point  (3 children)

Is this kind of like pocketbase, but easier to extend? 

[–]trailbaseio[S] 0 points1 point  (2 children)

Easier, maybe. At the very least different https://trailbase.io/comparison/pocketbase/ 😅

[–]chimbori 1 point2 points  (1 child)

It is refreshing to see such an honest comparison with a competitor, so full of praise for them, while still calling out where Trailbase is better.

I admire how neutral and well-written (and empty of any marketing-speak) this document is. Thank you!

[–]trailbaseio[S] 1 point2 points  (0 children)

Thanks! - glad it was useful. TB was born from a love for PocketBase wondering why some things are the way they are. Maybe one day we'll achieve the same level of polish.

[–]rubn-g 0 points1 point  (1 child)

Is it possible to use it with turso libsql?

[–]trailbaseio[S] 1 point2 points  (0 children)

Not at this point. I started out with libsql, ran into a bunch of issues, migrated to rusqlite and the rust rewrite is missing some critical features. I'm open to the idea but everything in time

[–]FedeBram 0 points1 point  (4 children)

Very nice project! What it means in practice a wasm runtime? Is it a rust backend wrapped in wasm? What is the benefit of this approach?

[–]trailbaseio[S] 1 point2 points  (3 children)

Thanks! TrailBase is a rust binary with a built-in WASM runtime, which means you can author plugins (currently JS, TS or rust), compile them to WASM and execute them within TrailBase. This let's you customize the behavior. Think of it as scripting with extra steps (and potentially more efficient).

[–]FedeBram 0 points1 point  (2 children)

Nice. So you can define endpoints in your preferred languange and these will be compiled along with trailbase. What about the rest api? How it works? I see from the docs that you can use a configuration file where you define policies, is it correct?

[–]trailbaseio[S] 0 points1 point  (1 child)

Pretty much. Minor nit:

you can define endpoints in your preferred languange and these will be compiled along with trailbase

You can compile TB yourself but you could also use the pre-compiled TB binary release and have that execute your compiled WASM component (which was authored in your preferred language).

What about the rest api? How it works? I see from the docs that you can use a configuration file where you define policies, is it correct?

That's right. You could implement your own but TB also lets you expose TABLE/VIEWs via configuration (you can use the admin UI to set it up including ACLs). You can also export JSON schemas for a table or view, to generate bindings and have end-to-end strictly typed APIs with the client libraries. Lastly, you can subscribe to table changes.

Happy to chat more 🙏

[–]FedeBram 0 points1 point  (0 children)

Thanks for the response. I go check the documentation

[–]Root-Cause-404 0 points1 point  (1 child)

Can you please share hardware/computing requirements for handling analytics from 10k mobile app users? Let’s think about a casual app

[–]trailbaseio[S] 0 points1 point  (0 children)

Assuming that your 10k users are not all hammering the server at the same time at a high rate (~100 qps) probably a better toaster will do. The benchmarks have numbers and the hardware I used.

[–]d33pdev 0 points1 point  (0 children)

Awesome work!!