Self-Hosting Simplified: Installing Coolify on a VPS + NextJs Deployment

Sdílet
Vložit
  • čas přidán 18. 06. 2024
  • This video will explore Coolify, an open-source and self-hostable Heroku/Netlify/Vercel alternative. Coolify enables you to launch static websites, API’s, backends, databases, services and other types of applications.
    There are several reasons why you might want to use Coolify such as:
    Ease of deployment, self-hosting, open source, multi-environment support, integrated services, simplified management, ci/cd integration, docker support and it can be cost-effective.
    I'll guide you through selecting and creating a VPS, installing Coolify, and setting up a NextJs 14 website with a custom domain, SSL and continuous deployments.
    ☕ BuyMeACoffee: www.buymeacoffee.com/RaddyThe...
    Chapters:
    ◾ 0:00 Introduction:
    ◾ 0:27 VPS Setup
    ◾ 6:00 Install Coolify
    ◾ 13:06 Deploying NextJs Website
    Recording Equipment:
    ◾ Microphone: amzn.to/3uX0yvP
    ◾ Shotgun Mic: amzn.to/3aRsSJb
    ◾ Camera: amzn.to/3IMumkx
    ◾ Lens: amzn.to/3ARxvh8
    ◾ Lighting: amzn.to/3PBetj2
    Computer Gear:
    ◾ Keyboard: amzn.to/3RCXRcC
    ◾ Headphones: amzn.to/3aIvskX
    ◾ Mouse: amzn.to/3VfVuxO
    Connect with me:
    ◾ Website: www.raddy.dev
    ◾ Newsletter: www.raddy.co.uk/newsletter
  • Věda a technologie

Komentáře • 51

  • @RaddyDev
    @RaddyDev  Před 16 dny +12

    I tested Coolify for a few weeks, and I can confirm that the name checks out. Highly recommend giving it a try.
    *** Update: I wanted to mention that adding WAF protection is worthwhile. You can route your Coolify domain through Cloudflare and utilize their free WAF protection at a minimum.

  • @sovanchheang170
    @sovanchheang170 Před 11 dny +5

    Perfect Raddy, you got 5 Stars. Thank you so much

    • @RaddyDev
      @RaddyDev  Před 11 dny

      I appreciate it, thank you!

  • @naylord5
    @naylord5 Před 15 dny +6

    This is exactly what I was looking for!
    Thank you so much for sharing such a useful tutorial mate.
    Cheers! 🔥🔥

  • @josemamontano3617
    @josemamontano3617 Před 10 dny +1

    Amazing video! Thank you very much Raddy!

  • @twxq834
    @twxq834 Před 2 dny

    Amazing tutorial. Thank you

  • @ojvribeiro
    @ojvribeiro Před dnem

    Hi! Can you make a video on how to setup Deployment Previews?

  • @djfoo000
    @djfoo000 Před 14 dny +3

    Can you also show in your next videos how to set up a publicly-accessible postgres instance hosted on coolify? Maybe also set up a domain name pointing to that postgres instance using cloudflare tunnel or something so that the connection string doesn't have to depend on a static IP address? I've tried and couldn't get it to work.

    • @RaddyDev
      @RaddyDev  Před 13 dny

      I haven't tried setting up a tunnel, but the publicly-accessible Postgres worked for me. I had to open port 5432 and check the "make it public" option. Is that not working for you?

  • @TexmerYT
    @TexmerYT Před 8 dny

    AWESOME TUTORIAL , it was soo helpful just a quick question what about serverless, can you have a similar DX with coolify as for example in vercel?

    • @RaddyDev
      @RaddyDev  Před 8 dny +1

      In my opinion, Vercel's DX is superior. They make deploying, debugging, and monitoring your application incredibly easy. There's no need to worry about server configuration, security, or scalability. Naturally, these benefits come at a cost.
      Coolify isn't serverless, but there are other options that you might want to explore like SST and AWS Amplify. SST is more technical, whereas Amplify offers a user experience somewhat similar to Vercel's.
      Currently, I use Coolify for most of my projects and find it quite nice. However, I wouldn't personally put a big client on it.

  • @AnthonyCandaele
    @AnthonyCandaele Před 9 dny +1

    thanks for this very instructive video. So if I got it right, you should register a domain name for the Coolify instance, and then register domain names for every app running on this instance?

    • @RaddyDev
      @RaddyDev  Před 9 dny +1

      Thank you, I appreciate it. Yep, that's it. This way you can easily create websites with subdomains and also enables you to set up preview deployments for testing. Forgot to mention that it might make it easier to add WAF protection from platforms like Cloudflare.

  • @hamza_jazayri
    @hamza_jazayri Před 16 dny

    Great Video Raddy!, can you explain how to build shopify app.

    • @RaddyDev
      @RaddyDev  Před 15 dny +1

      Thank you! I don't have much experience building Shopify apps. I've only used liquid once to build a basic theme. It wasn't fun 😄

  • @belonggame
    @belonggame Před 11 dny +2

    Nice video 👍
    Isn't it faster to just create a CNAME record pointing www to your root domain to simplify Traefik config?

    • @RaddyDev
      @RaddyDev  Před 11 dny

      thank you and I agree with you. It took me a long time to figure out the Traefik redirect. The instructions in the the official documentation didn’t seem work for me

  • @lindor94
    @lindor94 Před 6 dny

    Perfect, this is what I needed to stop feeling paranoid about Vercel.
    Just one question: How can we achieve the same firewall behaviour of what Hetzner offers, but on some other VPS provider that doesn't have the any firewall features, so the firewall needs to be set up manually with something like ufw. But docker exposes the port 8000 even if you block it using ufw. Any idea?

    • @RaddyDev
      @RaddyDev  Před 5 dny

      UTW can be a solution. Have a look at the article "How To Set Up a VPS Firewall?" by scalahosting as it talks about all that

  • @AlessioDiasparra-lx4ns

    Hi Raddydev, how can I get Coolify to run locally on a Macbook pro M2 with docker? I am experiencing many problems. Thank you for your content

    • @neofox2526
      @neofox2526 Před 10 dny +1

      Coolify is only really officially supported on linux systems

  • @oliversaxon8656
    @oliversaxon8656 Před 6 dny +1

    is it still possible to use API routes in Next when deploying with Coolify?

    • @RaddyDev
      @RaddyDev  Před 6 dny

      Yeah they work absolutely fine

  • @user-ik7rp8qz5g
    @user-ik7rp8qz5g Před 2 dny

    Are system requirements hard or can I still use it on 1 core 1 gb + swap server if needed?

    • @RaddyDev
      @RaddyDev  Před dnem

      I wouldn't waste your time trying with less than the minimum requirements. The server will probably crash at some point. Ubuntu itself requires 1GB RAM and 1 vCPU or better.

  • @ALVIERIDEVELOPER
    @ALVIERIDEVELOPER Před 15 dny +1

    Hey Raddy, you said you have three websites running on Droplet(server). How's that possible, when you have just one public ip address. Am i missing something

    • @RaddyDev
      @RaddyDev  Před 15 dny

      Yep, that's correct, you can host multiple websites on a single server. It works similarly to using Nginx, where you can have many domains point to one server IP. Nginx then handles directing traffic to the correct website.
      Coolify simplifies this process as it acts like a Platform as a service. Like Render and Varcel I guess. You simply create your websites within the platform, point your domain names to hosting IP, and Coolify takes care of everything. This includes routing traffic to the appropriate website, managing SSL certificates, and more

    • @ALVIERIDEVELOPER
      @ALVIERIDEVELOPER Před 15 dny

      @@RaddyDev I won't lie, I still don't understand. From what you said, You can have many projects(websites) on one server right. How do you configure nginx to redirect to these different websites

    • @belonggame
      @belonggame Před 11 dny

      @@ALVIERIDEVELOPER Coolify uses Traefik as a proxy server to route traffic; it listens to incoming requests and, based on rules you set (like domain names), directs traffic to the right web service (e.g., React app on port 3000, Angular app on port 4200), acting like a traffic manager to ensure each request reaches the correct website. As for nginx it's more barebone from the get go, but it has a bigger community and you can configure it to your needs.

  • @hawolex2341
    @hawolex2341 Před 13 dny

    will this auto build if you commit change to Main?

    • @RaddyDev
      @RaddyDev  Před 13 dny +1

      Yeah it will auto redeploy the website when you push change to main. You can choose whatever branch you want

  • @Epirium
    @Epirium Před 11 dny

    Can you make video on how to host api endpoints on coolify

    • @RaddyDev
      @RaddyDev  Před 8 dny

      It would be more or less the same. Let's say that you build your API with NodeJs, then the process of deploying will be exactly the same as the NextJs project

  • @WarchantUA
    @WarchantUA Před 2 dny

    One addition: do not forget to update the password for coolify instance after you've set up HTTPS, because the first time you registered it was sent over HTTP and it is 100% logged somewhere in between your machine & hetzner instance.

    • @RaddyDev
      @RaddyDev  Před 2 dny

      That's a valid concern, thank you. If you set it up in public place, like a coffee shop where network traffic might be monitored, that could be a problem.

  • @ricozuares
    @ricozuares Před 2 dny

    i got a message, that coolify needs some ports for example 8000, When I add it to my firewall its again accessible via the ip. What am I doing wrong?

    • @RaddyDev
      @RaddyDev  Před dnem

      Did you apply the firewall settings to your server? That's the only thing that I can think of if you followed along. A bit strange, let me know how it goes and if there is anything i can help with

  • @snatvb
    @snatvb Před 9 dny

    what about ci/cd for branches? is it possible?

    • @RaddyDev
      @RaddyDev  Před 9 dny

      Yeah there is an option for which branch you want to use for deployments and you can always change it

    • @snatvb
      @snatvb Před 9 dny

      @@RaddyDev I mean automaticly, like on vercel - i create new brach and can see preview after push

    • @RaddyDev
      @RaddyDev  Před 9 dny

      There is an option called Preview Deployments which does that, but only works with Github. It's disabled by default, so you just need to go to Advanced and tick the box. You can configure the domain as well. Here is what the docs are saying:
      "Preview deployments are a great way to test your application before merging it into the main branch. Imagine it like a staging environment.
      URL Template
      You can setup your preview URL with a custom template. Default is {{pr_id}}.{{domain}}.
      This means that if you open a Pull Request with the ID 123, and you resource domain is example.com the preview URL will be 123.example.com."
      You can also create another website on coolify with a test/development environment and connect it to the branch you want.

    • @snatvb
      @snatvb Před 9 dny

      @@RaddyDev omg, needs to try. And buy raspberrypi 5 :D

  • @Abhishek-fw7oo
    @Abhishek-fw7oo Před 4 dny

    why redirect to non www version ?

    • @RaddyDev
      @RaddyDev  Před 2 dny

      It's a personal preference and also helps with split ranking

  • @haruke4981
    @haruke4981 Před 10 dny

    coolify v2 ui is so much better

    • @RaddyDev
      @RaddyDev  Před 9 dny

      I haven't used v2, but I do think the UI in v4 could be improved. It's not bad, but there is always room for improvement. With time, it will only get better.

  • @worldhack.1201
    @worldhack.1201 Před 11 dny

    Copy content from milky

    • @RaddyDev
      @RaddyDev  Před 11 dny +2

      Hi mate, just wanted to clear up any confusion. My video was posted before theirs, and the content is different too.