Hm, not really. Depends on "easy". Coolify has its own constraints. I use coolify as well but it's other things to adapt then. So I wouldn't necessarily say it is easier
After the third thorough installation, I found out following: 1. Right after you set access list in NGINX, you can only manipulate with tables, but not with storage nor users. 2. After FULL installation by the guide, with Authelia, everything works. 3. supabase-vector doesn`t start. 4. supabase-storage & supabase-studio both are in 'unhealthy' state, 5. Error on sending invitation But, main functions works. Great job David ! Thank`s a lot !
Hi there!! Thank you for the video it qas really nice.. I’ve setup supabase/srr on my Remix js app. The createBroswerClient and createServerClient works!! But I still not understand the concept between when to use the Broswer one or the Server one.. I know that when it’s for front-end is the Broswer client but I think I would need a real life example to understand both. Anyone can help me?
Legit question: Does the Self hosted version supports Users(creating users via studio Authentication)?? I thought i was breaking some configuration, but even with vannila install (without any config changes it always crashes with "canot fetch")
Yes, sure it does! This should work. I haven't tried it in a while as I'm currently on the Supabase book writing process (supa.guide) but this does work (rn doing this with k8s). Have you checked the linked blogpost?
They are active! Here's how: In every project, no matter if Cloud, self-hosted or locally, the URL to an Edge function is API_URL/functions/v1/function_name . Now on self-hosted, you need a way to get the functions there as `supabas functions deploy` only works with cloud. This is done with a docker volume which by default is found in the docker-compose.yml under functions.volumes (usually on your server where you execute the docker-compose.yml it's ./volumes/functions)
Man this is great, thanks a lot, just subscribed I want to start Supabase as a newbie programmer and wanted exactly this video. Are there any limitations to Self Hosting features, compared with the paid Cloud options? I couldnt find a feature comparision table anywhere
God knows how much it takes to compress those 45h of work and research into a 35 minute guide for your audience. Def, earned this like comment and subscriber =) Keep up the good work, we are very thankfull
Hey, thanks for this amazing tutorial! I keep getting this error when building my project after following this setup: Static generation failed due to dynamic usage on /orders, reason: cookies I'm exclusively using the app router. My /orders page is a SSR page and calls a function "fetchOrders" before returning its components. This fetchOrders function lives in a server actions file with the "use server" file heading. It queries a pg database using Drizzle, and uses the "createSupabaseServerClient" function to fetch the user id for the database query. I'm unsure how to reliably get the user id of the logged in user for my database queries with this error throwing. Has anyone ran into something like this?
Can you try one thing to troubleshoot? This video shows calling `cookies()` in each function. However, I'm about to make an updated video where I'll be using `const cookieStore = cookies()` in the top of the utils function and then only `cookieStore.get`, `cookieStore.set` etc. So calling `cookies()` immediately will mark the file as "using cookies". Can you try if that helps?
❤❤❤ Great video. Next time please use dark theme in your apps. Its gonna be much easier to watch. Now you have dark theme on text editor and light theme in your app.
I am writing here because others may be interested. I have a problem with Astro. I am using the new caching from Astro. During the build process, the data is cached in a folder. I would like to reuse this in the next build process. So I need a persistent app. But I don't understand how I can access a persistent folder or if it works at all. My Config: Path in App: /astro-cache Label: astro-cache In my Astro config I enter the following as the caching path: cacheDir: './astro-cache' That won't be correct, but I don't know how else to access the path. Is it even possible?
As discussed previously, it's hard to access a VOLUME within a running build process. The best bet would be copying the files into the build context directory which comes with several problems: 1. You'd need to know where CapRover does the `docker build` 2. You'd need to copy the existing cache directory into that before the build starts and then do `COPY /cache-dir ...` within that 3. Where you get that `/cache-dir` from in the first place? The third question can be answered e.g. by having a git pipeline that will first trigger some script which will run `npm run build` and it's result is put to the cache-dir where it then later can be read from (2). But then again you still face problem (1) that you need to hook into it. That's why you're probably better of building in the container instead of the dockerfile and using a HEALTHCHECK command in the dockerfile to determine the healthiness of a container depending if a certain URL can be accessed or not (CURL request). Another idea: Use the Repository pipeline / GitHub actions to build on GitHub and re-use cache directories from the build which you then use to push to a specific branch when succesfull (like a `deployment` branch). That branch can then be used by CapRover. But all of these things aren't natively supported so if you didn't want workarounds you might wanna consider portainer instead which is a bit more versatile and I think it has Webhooks as well.
@@ChristianKolbow docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows also check this one to grasp ideas for prebuilding the cache
Hallo david ,I faced with a problem that when I add custom location for strorage on proxy manager ,the proxy host go to disabled ,and when I try to upload file on studio it stuck on progreess and I got htis error :site.webmanifest:1 Manifest: Line: 1, column: 1, Syntax error. _app-20b53b8200866666.js:19 Uncaught (in promise) TypeError: Failed to fetch at StorageFileApi.<anonymous> (_app-20b53b8200866666.js:19:131591) at Generator.next (<anonymous>) at fulfilled (_app-20b53b8200866666.js:19:130298),I use local storage.Thank you very much
After adding the domaind and creating the SSL certificate for the nginx proxy manager itself you should go back into your docker compose file and remove port 81 from being exposed. By default, you exposed ports 81, 80 and 443 and since you are now exposing the proxy maanger via port 80 and 443 via the domain, you don't need port 81 anymore and you should remove it.