PocketBase... The Ultimate Side-Hustle Backend?
Вставка
- Опубліковано 12 вер 2022
- Take first look at PocketBase, a new backend platform using the Go programming language and SQLite database that compiles to a single executable. It is a lightweight alternative to tools like Firebase and Supabase for easy backend development.
#programming #firstlook #TheCodeReport
🔗 Resources
- PocketBase Github github.com/pocketbase/pocketbase
- Pocketbase HomePage pocketbase.io/
- Firebase Alt Video • I tried 5 Firebase alt...
- Edge Functions Video • Is "edge" computing re...
🔥 Get More Content - Upgrade to PRO
Upgrade to Fireship PRO at fireship.io/pro
Use code lORhwXd2 for 25% off your first payment.
🎨 My Editor Settings
- Atom One Dark
- vscode-icons
- Fira Code Font
🔖 Topics Covered
- What is PocketBase?
- Pocketbase vs Supabase
- Pocketbase vs Firebase
- Is PocketBase production ready?
- How to choose a backend for an app? - Наука та технологія
"Destined to fail, but if not.. does it scale" This should be the motto for all side projects
Story of my f’n life
lol😟
I laughed so hard because it is true and also my life story
"Nah. I'd win."
we need another backend base service as an alternative to this one. and also a new javascript framework while we are at it
Written in rust
@@HAL-9000- Rust is 🙏
It's definitely my favorite language ever
@@Affax Mine too, followed by Go
Directus is a great alternative
@@HorsiMusic or hasura
Start your project now by building your backend from scratch ❌
Spend endless hours looking at BaaS alternatives and never actually start your project ✅
That's the way
why you gotta call me out like that
Start your project now by building your backend from scratch ❌
Spend endless hours looking at BaaS alternatives and never actually start your project ❌
Forget about the original project and create your own BaaS platform because none of the existing ones out there fit your "taste" ✅
So wait, all these services (firebase, supabase anythinbase) are used to avoid making a backend with node, flask, Django, c# etc?
I really thought they were meant to host your backend lol
Very noob much wow
@@wlockuz4467 Thats how most frameworks were born, maybe
TIL Firebase uses “sharting” to horizontally scale. Only downsides of this strategy are the underwear overhead and the smell, but I find the tradeoff to be worth it, especially if you aren’t doing much code-sniffing
Underwear overhead and the smell xD
Bruh 💀
Make sure you're consistently dumping your cache you'll be good to go 👍💩
@@shortkeys73 HELPPPP
bravo
Just want to say that I absolutely love your humour - "your side project which is destined to fail", saying "sharding" but putting "sharting" on-screen, etc...
Actually helps me retain the information because the laughs are keeping me focused, whereas other UA-camrs lose me within seconds due to their long-winded, monotone, no-nonsense approach to teaching programming concepts.
I'm glad I was alone in the room when "your side project which is destined to fail" came up, I started 😂 like an idiot
He said he was gonna look at pocketbase over the weekend and here we are. Boy does he deliver!
You can scale horizontally by giving each customer their own executable. You don't have to worry about "noisy neighbours", only one customer is affected if an app goes down, you can scale each customer independently and you can easily A/B test features or do progressive rollouts of new versions.
This is a surprisingly underrated strategy. For the small amount of communication that needs to be global, you can implement that as an integration and host that using whatever tech you like. You may never need it, depending on the use case.
cheapest horizontal scaling i can ever imagine
@@jameslay6505 It's because people still think of databases as this big shared multi-tenant setup. So all the effort in the last 20 years of devops has gone into optimizing a monolithic data store so there's not much tooling around "one stack per customer". They'll say it's too hard to manage lots of small instances, but sink $500,000 into standing up a Kubernetes cluster to scale 5 microservices.
@@soviut303 true, we use a different instance of our project for each client (each on a different machine), each with a separate database. And we have CI. No problems! This strategy is underrated
Wait, how? How does the executable get on their device and run?
i love how pocketbase has real-time demo, so you can see other people testing it
I saw things I can’t unsee.
Wait , that's user generated stuff ,, huh
I have a SASS project I made years ago with Laravel and uses SQLite. Never had an issue with it. On of the best engineering project of all time. A fully transactional database in just a simple file is awesome.
I’ve been using Laravel for Medium applications and it’s amazing the power it gives you for your backend. Even better when they switched Webpack with Vite 🤩
Now let’s talk about security with SQLite
@@ko-Daegu security should be implemented at the backend level, not the database level
@@ko-Daegu you make your own solution handling access control to your services. And following best practices when hashing things.
I also used sqlite in a project. It run very fast was very easy to backup. Then someone replaced the implementation with sqlite because the person in charge said sqlite is not "professional enough"
Perfect for my side project which is "destined to fail!" 🤣
spoken like a true freelancer, hooraah.
If I expect my side project to fail, and it does fail, then it met expectations.
And if it met expectations, was it really a failure? 🤔
@@JohnDoe4321 dayum this guy here giving existential crisis to all freelancers
It is bound to fail because packetbase hasn't even reached version 1 yet
This Pocketbase project is incredible. A single binary that does all that whereas Appwrite/Supabase require like 6 large containers.
Definitely using this for my next "startup".
I like Appwrite but can love PocketBase so much.
Appwrite is kind of overweight baas for a new startup
SQLite is perfectly useful in production for mobile apps, to have local caching. Very useful for apps that require a lot of downloads while the user is likely not around a wifi-spot, or as a way to lower the amount of calls to servers.
I use it for small e-commerce websites where I know for sure the shop is never going to reach thousands of customers a day (usually just mom and pop shops that want to sell just a few products on the internet to returning customers with not much advertising) and also for Headless CMS projects
This is the ultimate wombo combo! Go with Echo framework and Svelte for the UI plus SQLite for maximum portability; no Docker required. This is the gold standard for me in my mind; three seriously underrated pieces of technology orchestrated together to create a small binary that is easily self-hostable.
Just wonna say, I love your videos and the way you present them to audience is brilliant . Thx ☺
I've been running Supabase self hosted for a long time now, deploying on x86 was a really painless process if you follow their guide, and on the 1 CPU, 1GB of RAM I bought for the side project it's for it works great (the project also has super low traffic, but the specs are comparable to a basic Supabase plan). The only kink was when I tried to deploy on ARM, despite the images saying they're built for ARM and Supabase claiming they built them for ARM, the Postgres image simply doesn't work (the others do though). After a log of work, just building Postgres image from the supabase/postgres repo manually worked like a charm.
Hope you don’t mind me asking, but I’ve been wondering if I might try hosting it for my projects too, but no cloud functions in the self hosted version has me hesitating. Has that been a problem for you at all?
how to protect supabase studio? i don't have experience with traeffic.
@@winkleraron8175 Cloud functions haven't been a problem for me personally, I use Cloudflare Workers for anything on the edge.
Still years after arm went mainstream… arm support for docker images is abysmal.
Thanks for putting this out. I'm definitely considering this as the backend for a multiplayer browser game.
Use redis instead.
@@lionlike5856 why is that?
@@PMantis013 Redis is blazingly fast
i just rolled my own backend + api framework instead. after chasing my tail a little bit it’s now at a good point of stability and i really like it. it’s basically just micro services but in a single daemon w/ hot loading
mind blown, this is exactly what I need and I've been looking for so long!
Follower for a while, thanks for all the hard work!
I think that besides the real-time functionality, other HeadlessCMSs like Strapi, Directus, Keystone, Squidex, ParseServer or Cockpit can also be included in the same bucket of the previous mentioned technologies.
"Side projects that's destined to fail"
Developers: Why are we here, just to suffer!
Exactly my thought. It's a bitter truth. In last Code review, he mentioned 5 users and I was like. yeah. just kill me.
Apparently so💀
Go & Svelte are my favorite languages, thanks for the report !!
you gotta be kidding me, I literally got to know about PocketBase about 12 hours ago and here's a Fireship video on it woah
Amazing video. I think Directus is also a great Firebase alternative.
Damn that looks wonderful. Already made a small introduction about this nice piece of software :). Thanks for making this video
Thanks for introducing this tool!
I'm in the middle of a PocketBase + Flutter build on my Twitch channel, I'm really enjoying it so far. Totally recommend that folks consider it.
We use supabase in production for 4k+ users, and We have spent few hours figuring out how to setup email templates 😅😅, and now it's okay there are some bugs like sometimes reset password would not get processed but it can be a client sided thing
if you need someone to help with development lmk
I’m about to migrate from Firebase to Self Hosted Supabase for our infra for some client specific storage location requirements that cannot be met through GCP.
Obviously I came to Fireship for inspiration!! Happy to read comments that say it’s not too tough ❤ 🤞
normally i dont give reviews but maam youre amazing like i tried 2 videos on 2020 and one on 2022 but it wont work but i saw yr video today and it worked as being both content creators i respect your hard work and keep it up
this is right what i need! gonna restart my side-project again
Love the recursive database relationship at the end 😆!
Always enjoy your videos so much. Just last week I was checking pocketbase and it put me to think too 🤔. A video about surrealdb would be great.
Yes, surrealdb next please :)
You know what, You convinced me to build my own backend. It seems way more easier than using and managing these.
That is always the end goal, but you can create an MVP in half the time using a BAAS.
That's the Truth 100%. I highly recommend Laravel. The tooling and ecosystem is really amazing
Hello, yes I would like to sell my own BaaS using a BaaS as a backend.
For many CRUD apps just setting up a database plus Hasura may also be an option.
Writing a backend feels quite easy and fun to me. Frontend now just feels like an endless maddening search for the one true framework, hacking together a UI with CSS and a glorified text markup language, guessing types until you get a type error, and other nonsense. Writing a backend feels like you're engineering an intricate system with a goal of describing your data and how it changes state. You can choose any framework or programming language, use whatever cool thing you found convenient without fearing browser compatibility, and focus on real problems. It's quite fun if you have the time and it doesn't grow into a spaghetti codebase.
my goodness! Your presentation blew my mind more than pb
My side project will never fail...
(*points to temple black man meme).
If I never start it!
I used ElefantCMS for years as a WP alternative which uses SQLite years ago. So fast!
"It would work just fine for your side project that's destined to fail" - that hit hard man :)
Thanks for sharing this project, I am very excited to try it myself! Sqlite is a great database solution, but very underrated because engineers in companies gravitate towards complex setups to justify their jobs and salaries.
Haha this is 100% true. Unfortunately I am one of those. Corps that can afford M$ stack can afford to buy me all the shiny toys I so desire. But hell if I am using M$ for my side projects.
I have found what i was looking for :-)
THANKS 😃
Just bought soft soft! So excited to get started!!
"The next MySpace" 😂 One of your best ever lines Jeff
I love SQLite, I always use it for my projects. Good to see it gettin the love
Yo after 50 seconds i am sold. Looks incredible!😍
It really looks amazing. Self-hosting is the best hosting.
what about security when your webapp starts scaling? self-hosting is cool if your app keeps simple
thanks, will try this
I’ve already made 7 JavaScript frameworks since this came out.
Hosting Supabase on my VPS behind Traefik currently and honestly didn't find it all that hard. Sure, some things were a bit finicky and not obvious but it wasn't a hair pulling exercise in my experience.
Love the embedded SQL idea!
I am literally about to start a side project that needs exactly something like this.
I learn and have fun. Perfect!
YES TO THE PROXIMITY HOVER TUTORIAL :)
Loved this!
would love a 100 seconds of surrealDB. it looks very interesting and unique, and written in rust ofc
Awesome !!!!!!
Watched this while “sharding”. Gained new perspective on the performance of my porcelain computer
This channel is a rare gem
This review is really really informative
You are a bless to the dev community
Idk if removing the flashing intro was even asked, but thank you mister for our eyes !
Thanks for your great Ideas
To be honest , I did learn something out of this .
I am just an beginner but still fireship videos are knowledgeable :)
Awesome how in the logs of the demo we can see that the date this video went live we went from 25 to 4920 requests and growing
Fantastic! 👏🏻👏🏻👏🏻👏🏻👏🏻
Thank you so much for this jeff… im building a little scratchpad for my team
You could scale on the z-axis by dividing your userbase into regions etc.
I'd love to see a video about htmx.
Great content keep it up!
It is blazing fast, baby!
Wooaa Then you definietly need to see SurrealDB !!!
Awesome find. A more in-depth video would be very interesting.
I wonder what a difference is made in statically linking most of the object code into the one executable is made. If sqlite is embedded, then that likely points to cgo being used. However, I think sqlite can be compiled statically too; does one need to drag glibc along for the ride?
sqlite can be used without cgo
Nice. I love go. I'll see this new tech.
Missed an opportunity to add a reverb on the “Does it scale”
I am new at front end dev and your vids have helped so much!
I love PocketBase!
Would love to see a video on SurrealDB. Looks like an incredible new technology
Great video
Really cool, though I prefer my databases with sharting thank you.
This made me question everything I know and wonder if it's actually sharting and not sharding. Good to know it's just a typo ÷)
Nice video bruv
Wow, I didn't know I could self-host supabase. Who would have thought I'd learn that in a video about another software
Amazing video ❤️ what about 8base and Qovery? 😀
I mean, all that Go, Single Executable, Super Fast and such are very nice, but what you got me at was Svelte. Discovered Svelte months ago and fell in love. Hated Javascript/HTML/CSS/WebDev as a whole before (backend dev coming from java) and Svelte is insanity, but positive. And PocketBase sounds and seems so good (will definitely use it in my next project that'll definitely fail ;)) but than hearing it's using Svelte... not gonna lie, I had sex that felt worse than hearing that....
I would just hope it has more clients/sdks, e.g. Java for backend and Android support (never worked with Dart).
Well, the stack sounds like a dream to me. And Dart/Flutter is awesome for mobile, give it a try!
I’m sold.
Thanks so much
It looks a lot like Directus which is also excellent.
Here we go again
Am using directus and I fkin love it
@@chaitanyakulkarni6416 I expect a Directus review after next weekend xD
@Fireship
Directus >> Supabase
It is literally my birthsday and today i decided to start learning GO wow
Ok you sold me on this
Would love a video on Uppy!
1:54 LMAO "SHARTING"
sharding? Looooooooooool.
is it blazingly fast?
Finally, there are now 15 standards available.
Really interesting...
Hey Jeff, could you do a video explaining the Nim programming language in 100 seconds please?
Nim is very underrated and I wonder why big companies didn't adopt it
this in combination with railway is just fantastic to use !
How did you deploy it on railway? I had to deploy via a dockerfile in a github repo. I was wondering if there is an easier way
the fact you can self host its huge
Go for the win!
Just mentioning that if it is running on go, scaling vertically makes perfect sense due to the multi-threading capabilities.
Nice tutorial brother sorry I need to ask you if soft can be installe on Android?
I'd love to see a video on Yugabyte.