why is this crazy? I took you 15 Minutes to set up. In my case now for example, I've started with Supabase and now I need a System to write and create Blog-Posts. Instead of building an admin panel and doing all from scratch, just do THAT and it's done. Nice video!
Lol. After going through the process of making the video, I realized it was not as wild as I thought it to be initially. There are definitely use cases for this example. It is just not officially recommended by Strapi. I still prefer just using a regular Postgresql instance running on the same server as the strapi instance. Thanks for checking out the video.
@@CodingAfterThirty Hey thanks so much for this, is there any big difference between regular Postgresql instance and Supabase instance? I'm running both supabase and strapi on localhost, and I can see my supabase Postgres looks the same as other postgres (but I'm not so knowledgable on this so just wanted to check!) For my use case, I already had a full blown strapi app, and a separate supabase app too. I wanted to merge both projects into 1 and start using the Supabase auth with Strapi I think I nearly got it working, but just had that question
If you happen to take this approach I'd suggest to not forget to enable row level security on tables, use service role key and adjust storage policy to prevent anon keys deleting objects or entries in db 🙌
@@CodingAfterThirty if i started out with sqlite and I had loaded some content which is stored in the .tmp/data.db file ,how can I transfer this data to supabase database?
Thanks for this video I liked this approach. I have one stance of Strapi running on my VPS and sincerely I hate configuring the infrastructure, is there any other approach similar to the one used in this video, with simple deploy for DB and Storage? Strapi cloud isn't a good option in my case since it will be 6x more expensive due to my country's currency. Sanity seems to be a good option too, but I am more comfortable with Strapi and I like the dynamic zones approach.
I personally would not use Supabase as a Strapi database. My personal opinion. But if I was my question would be? Are you using Strapi admin just to make it easy for folks to add data to your supabase instance? But your front end will be consuming supabase? If so use Supabase auth.
Thank u for the video. love u man😘. i have a question freelancing . when we deliver product to client do we need give acess for this platform like supabase , netlify , render ect ?
That’s a good question, it is really up to you, and how you setup the agreement. If I were to build a project for a client. I would use tech that would be easy for none developers. Like a headless CMS like Strapi that I show in this video. I would also not use Supabase if I am using Strapi. I would also deploy the project an a platform that is easier to use or manage. Like digital ocean app or Strapi cloud. And frontend in Netlify or Vercel. After I finish the product I would give them one of these options. 1. Turn over the project to them and be done. 2. Turn over the project to them and stay as a retainer, where if they need help they can hire me hourly. And I personally would not hold any accounts. I would instead, when need to update something, would log into users account instead. That way the majority of responsibility is on them.
Deliver the product and provide access to it. If the client agrees to ongoing maintenance, ensure you have an account for your access. Some freelancers retain access and occasionally disappear, leaving clients unable to update or upgrade their products. This is a bad practice that can result in clients losing their product due to the lack of updates/upgrades
You can deploy Strapi anywhere the node is supported, and you can even spin up your own VPS. I typically use Strapi Cloud or Digital Ocean to host Strapi Cloud and Vercel or Netlify for the front end.
I think some things got mixed up here strapi comes with sqlite database by default but what if you wanted a postgreDB as storage .That doesn't nessesarily mean data is feched from supabase on front end but when you call the strapi endpoint it feches data from the supabase db
Strapi allows you to choose multiple database options. I feel that you should use one or the other. Although this example shows how you can use Supabase, I would prefer to use it in its intended way. And yes, by default, Strapi comes with SQLite, which most people use in development. So, different environments can support other databases. I typically just stick with SQLite in dev and Postgres in production. And I prefer running my db in the same place where I deploy my app. I typically will run selfie
I personally don't recommend this approach. Either use one or the other. From what I see, folks like to use supabase for all the endpoints consumed by their fronted and use Strapi as an admin panel to add data into their supabase database.
Lol. I think I made sense at 5 min and 30 seconds. I think the point I tried to make is that they both serve slightly different needs. And one should chose accordingly, and not use both. Although, I have seen few projects where folks use Supabase as there preferred database and API and only use Strapi’s admin panned to add data to supabase. But Strapi is an api for your backend, so why use Strapi and Supabase together. I don’t get it.
@@VadimAlakhverdov I respect that. Also, feel free to share your reason here, it can help others. Just because I have an opinion , doesn't mean that it is the only one. ( or right ) lol.
The current rich text field supports markdown. On the front end you can use react markdown to parse. You can checkout github.com/strapi/nextjs-corporate-starter/blob/main/frontend/src/app/%5Blang%5D/components/RichText.tsx Where I am doing this in the front end. You can also checkout CKEditor Plug-in on the Strapi Marketplace.
You don’t get an admin area to manage content creation and ability to customize back end through controllers, policies, middleware and services. And create custom plugins. And you are right depending on your project you would pick the best technology. In your case it might be Supabase. For stuff that I build, revolves around lots of content. And Strapi makes sense for me. To be honest. Depending on the project requirements I would pick what ever tech makes sense. Lol. I like both Strapi and Supabase. Just like I like Remix and Next. At the end of the day, I build things for customers. They are the boss. Great point though.
@@alsherifkhalaf7385 I think if you just need a database and an API supabase is amazing. But if you have alot of content that many people need to manage, editors, publishers and so on, Strapi is the way to go. Also supabase supports vector data storage, which is really exciting. I am currently using pinecone, and it is pricey for my particular project. I don't mind spending money where it matters, but at the moment supabase vector storage makes sense. So i am in the process of converting one of my ai plugins to supabase.
Nice, thank you 🙏. Also, I discovered another great cloud DB to use with Strapi. It’s called Neon DB, a great alternative if you just need a DB without to many extras.
Yes. That is why I like the fact there are many options to host you project. I think Render and Digital Ocean are great choices. I use both those platforms. I think picking the right hosting based on project needs is important.
Hey there thanks for the video. I'm having errors uploading media even after setting up a public bucket with a directory and editing the .env files. Do you have any suggestions for me?
I am not sure if this is something new they started to do. If so I guess the only way to get past it is you add your credit card. I typically don't use Superbase as often and never had it ask for a credit card in the past.
I am encountering this error when I run npm run develop (I am using npm for my repo). it stops at 'loading strapi' and displays this error: KnexTimeoutError: Knex: Timeout acquiring a connection. The pool is probably full. Are you missing a .transacting(trx) call? any help?
That is interesting. I am glad you were able to figure it out. Sometimes you may get pulling connections do to not having proper configuration or closing previous connections.
Unfortunately, it went missing but here is a project setttign where I used a different PostgreSQL DB but based on the setting. You just need to update the env to point to your supabase db. github.com/PaulBratslavsky/strapi-free-deploy-render-elephant-cloudinary/blob/main/config/database.js
why is this crazy? I took you 15 Minutes to set up. In my case now for example, I've started with Supabase and now I need a System to write and create Blog-Posts. Instead of building an admin panel and doing all from scratch, just do THAT and it's done.
Nice video!
Lol. After going through the process of making the video, I realized it was not as wild as I thought it to be initially.
There are definitely use cases for this example. It is just not officially recommended by Strapi.
I still prefer just using a regular Postgresql instance running on the same server as the strapi instance.
Thanks for checking out the video.
@@CodingAfterThirty Hey thanks so much for this, is there any big difference between regular Postgresql instance and Supabase instance?
I'm running both supabase and strapi on localhost, and I can see my supabase Postgres looks the same as other postgres (but I'm not so knowledgable on this so just wanted to check!)
For my use case, I already had a full blown strapi app, and a separate supabase app too. I wanted to merge both projects into 1 and start using the Supabase auth with Strapi
I think I nearly got it working, but just had that question
If you happen to take this approach I'd suggest to not forget to enable row level security on tables, use service role key and adjust storage policy to prevent anon keys deleting objects or entries in db 🙌
Thank you. That is a very important tip.
I don’t remember at this point, but does strapi use SQLite by default or does it need a Postgres db?
Yeah. It uses SQLite by default.
@@CodingAfterThirty if i started out with sqlite and I had loaded some content which is stored in the .tmp/data.db file ,how can I transfer this data to supabase database?
Thanks for this video I liked this approach.
I have one stance of Strapi running on my VPS and sincerely I hate configuring the infrastructure, is there any other approach similar to the one used in this video, with simple deploy for DB and Storage? Strapi cloud isn't a good option in my case since it will be 6x more expensive due to my country's currency. Sanity seems to be a good option too, but I am more comfortable with Strapi and I like the dynamic zones approach.
I typically like using Neon DB for database, Cloudinery for files and either Render or digital ocean, but digital ocean does not have a free tear.
Thank you very much, my brother. It helped a lot
I'm actually considering this architecture for a large production project. My only question is whether to use strapi or supabase for auth
I personally would not use Supabase as a Strapi database. My personal opinion.
But if I was my question would be? Are you using Strapi admin just to make it easy for folks to add data to your supabase instance? But your front end will be consuming supabase? If so use Supabase auth.
Thank u for the video. love u man😘. i have a question freelancing . when we deliver product to client do we need give acess for this platform like supabase , netlify , render ect ?
That’s a good question, it is really up to you, and how you setup the agreement.
If I were to build a project for a client. I would use tech that would be easy for none developers.
Like a headless CMS like Strapi that I show in this video.
I would also not use Supabase if I am using Strapi.
I would also deploy the project an a platform that is easier to use or manage.
Like digital ocean app or Strapi cloud.
And frontend in Netlify or Vercel.
After I finish the product I would give them one of these options.
1. Turn over the project to them and be done.
2. Turn over the project to them and stay as a retainer, where if they need help they can hire me hourly.
And I personally would not hold any accounts.
I would instead, when need to update something, would log into users account instead.
That way the majority of responsibility is on them.
Deliver the product and provide access to it.
If the client agrees to ongoing maintenance, ensure you have an account for your access.
Some freelancers retain access and occasionally disappear, leaving clients unable to update or upgrade their products.
This is a bad practice that can result in clients losing their product due to the lack of updates/upgrades
And instead of using RENDER, is there a way to implement it in the SAAS you want, for example VERCEL or NETLIFY?
You can deploy Strapi anywhere the node is supported, and you can even spin up your own VPS.
I typically use Strapi Cloud or Digital Ocean to host Strapi Cloud and Vercel or Netlify for the front end.
I think some things got mixed up here strapi comes with sqlite database by default but what if you wanted a postgreDB as storage .That doesn't nessesarily mean data is feched from supabase on front end but when you call the strapi endpoint it feches data from the supabase db
Strapi allows you to choose multiple database options. I feel that you should use one or the other.
Although this example shows how you can use Supabase, I would prefer to use it in its intended way.
And yes, by default, Strapi comes with SQLite, which most people use in development.
So, different environments can support other databases.
I typically just stick with SQLite in dev and Postgres in production.
And I prefer running my db in the same place where I deploy my app.
I typically will run selfie
Impressive tips🎉 so can use supa just for the auth to protect the routes and use strapi as a rest api ???
I personally don't recommend this approach. Either use one or the other. From what I see, folks like to use supabase for all the endpoints consumed by their fronted and use Strapi as an admin panel to add data into their supabase database.
I watched the first 5 minutes.
Are you saying that DB as a service is the same as Strapi (CMS)? Or I missed something?
Lol. I think I made sense at 5 min and 30 seconds.
I think the point I tried to make is that they both serve slightly different needs.
And one should chose accordingly, and not use both.
Although, I have seen few projects where folks use Supabase as there preferred database and API and only use Strapi’s admin panned to add data to supabase.
But Strapi is an api for your backend, so why use Strapi and Supabase together.
I don’t get it.
@@CodingAfterThirty I don't fully agree with you, but that's okay :) Keep creating awesome content!
@@VadimAlakhverdov I respect that. Also, feel free to share your reason here, it can help others. Just because I have an opinion , doesn't mean that it is the only one. ( or right ) lol.
How do we paste richtext without losing the format to strapi. I can't see an option for such a simple thing.
The current rich text field supports markdown.
On the front end you can use react markdown to parse.
You can checkout github.com/strapi/nextjs-corporate-starter/blob/main/frontend/src/app/%5Blang%5D/components/RichText.tsx
Where I am doing this in the front end.
You can also checkout CKEditor Plug-in on the Strapi Marketplace.
So why do we need Strapi if Subabase can do everything?
You don’t get an admin area to manage content creation and ability to customize back end through controllers, policies, middleware and services.
And create custom plugins.
And you are right depending on your project you would pick the best technology.
In your case it might be Supabase.
For stuff that I build, revolves around lots of content. And Strapi makes sense for me.
To be honest. Depending on the project requirements I would pick what ever tech makes sense.
Lol. I like both Strapi and Supabase.
Just like I like Remix and Next.
At the end of the day, I build things for customers.
They are the boss.
Great point though.
The opposite direction, why Supabase when Strapi can do everything that Supabase can do ?
@@alsherifkhalaf7385 I think if you just need a database and an API supabase is amazing. But if you have alot of content that many people need to manage, editors, publishers and so on, Strapi is the way to go.
Also supabase supports vector data storage, which is really exciting. I am currently using pinecone, and it is pricey for my particular project.
I don't mind spending money where it matters, but at the moment supabase vector storage makes sense.
So i am in the process of converting one of my ai plugins to supabase.
@@CodingAfterThirty I agree, Strapi is better when you need a dashboard with nice ui and many editing features .
thank you so much bro, its was very helpful
Nice, thank you 🙏. Also, I discovered another great cloud DB to use with Strapi. It’s called Neon DB, a great alternative if you just need a DB without to many extras.
Great! Thank you for sharing your discovery @@CodingAfterThirty
subbed
Thank you for checking out the video and your support.
Strapi cloud is too expensive for small projects
Yes. That is why I like the fact there are many options to host you project.
I think Render and Digital Ocean are great choices.
I use both those platforms.
I think picking the right hosting based on project needs is important.
Hey there thanks for the video. I'm having errors uploading media even after setting up a public bucket with a directory and editing the .env files. Do you have any suggestions for me?
never mind i had an extra space in it!
Glad you were able to find the answer. Sorry for the late response. I just saw your comment.
thank you for telling me not to do this...
Why use a Github repo instead of using a CLI copy of Strapi!!!
I already added the basic configuration to the project on my repo and did not want to start with a fresh project.
help me, i can't create web services because "Add credit card to verify your identity."
I am not sure if this is something new they started to do. If so I guess the only way to get past it is you add your credit card.
I typically don't use Superbase as often and never had it ask for a credit card in the past.
I am encountering this error when I run npm run develop (I am using npm for my repo). it stops at 'loading strapi' and displays this error: KnexTimeoutError: Knex: Timeout acquiring a connection. The pool is probably full. Are you missing a .transacting(trx) call? any help?
It seems like my uni wifi was blocking the connection, I switched to my mobile hotspot and it worked.
That is interesting. I am glad you were able to figure it out. Sometimes you may get pulling connections do to not having proper configuration or closing previous connections.
Where's the repo? 🤔
Unfortunately, it went missing but here is a project setttign where I used a different PostgreSQL DB but based on the setting. You just need to update the env to point to your supabase db. github.com/PaulBratslavsky/strapi-free-deploy-render-elephant-cloudinary/blob/main/config/database.js