Dockerize Next.js & Deploy to VPS (EASY!)

Поделиться
HTML-код
  • Опубликовано: 31 май 2024
  • #Hivelocity #VPS #VPShosting #ad #collaboration
    Get one month of VPS FREE at hivelocityinc.net/3SfVjnB. Use code BYTEGRAD1 at checkout. Learn more about Hivelocity’s VPS: hivelocityinc.net/3s3OcUF
    👉 NEW React & Next.js Course: bytegrad.com/courses/professi...
    Hi, I'm Wesley. I'm a brand ambassador for Kinde (paid sponsorship).
    👉 Add auth to your app FAST: bit.ly/3QOe1Bh
    👉 NEW React & Next.js Course: bytegrad.com/courses/professi...
    👉 Professional JavaScript Course: bytegrad.com/courses/professi...
    👉 Professional CSS Course: bytegrad.com/courses/professi...
    👉 Web development roadmap 2024 & 2025: email.bytegrad.com
    👉 Email newsletter (BIG update soon): email.bytegrad.com
    👉 Discord: all my courses have a private Discord where I actively participate
    👉 Kinde: check out Kinde for auth and more bit.ly/3QOe1Bh
    ⏱️ Timestamps:
    00:00 Next.js example overview
    01:18 Hosting with Docker is easier than without
    01:32 Preparation
    02:20 Dockerize Next.js (simple example)
    06:45 Dockerize Next.js (better)
    08:25 VPS
    09:07 GitHub container registry
    11:02 Build for AMD64
    12:50 Change name / tag of image
    14:03 Docker on VPS setup
    17:58 Dockerized Next.js on VPS!!
    #webdevelopment #programming #coding #reactjs #nextjs

Комментарии • 77

  • @ByteGrad
    @ByteGrad  2 месяца назад +3

    I had a great time working with Hivelocity's VPS again. Get one month of VPS FREE at hivelocityinc.net/3SfVjnB. Use code BYTEGRAD1 at checkout. Learn more about Hivelocity’s VPS: hivelocityinc.net/3s3OcUF

    • @HivelocityNet
      @HivelocityNet Месяц назад +1

      We enjoyed collaborating with you and look forward to more opportunities in the future!

  • @frankyb702
    @frankyb702 Месяц назад +23

    This is amazing. I would love to see a solution for:
    1. Using the docker container as a dev container, meaning coding on the container dev server.
    2. A solution to rebuild the next app for both dev and production on git push. Making it a replacement for vercel.
    3. Any type of autoscaling,

  • @BehrouzAsghari
    @BehrouzAsghari 2 месяца назад +28

    Hello, thank you very much for providing this short and practical content, please make other videos of these practical and interdisciplinary skills (CI/CD) for frontend developers.

    • @alejandroechavarria539
      @alejandroechavarria539 2 месяца назад +1

      Yes, please CI/CD

    • @ronaldtejada8846
      @ronaldtejada8846 Месяц назад

      Definitely pls

    • @julienjoseph-agathe7447
      @julienjoseph-agathe7447 23 дня назад

      Yes CI/CD with build job and some public ENV variable.. How to handle PUBLIC_NEXT_** when the image is created from the CI/CD and env variable are not stored in repo (no env.production in repo)

  • @jagdish1o1
    @jagdish1o1 Месяц назад +1

    Few weeks back, i scratched my head for this and you make it look so simple. Thank you so much! Saved!

  • @aolowude
    @aolowude 2 месяца назад +3

    You don't miss with the videos. Ive never veen happien than since i chose Next JS, abd dockerizing is huge! 🙌🏾

  • @sorintautu5025
    @sorintautu5025 2 месяца назад +1

    Every time I am stuck you post a video on that certain topic. Good content!

  • @snbwcs
    @snbwcs 4 дня назад +1

    This is great content.
    I would suggest doing a video about automated workflow with Github Actions like you suggested in the video (and maybe using the Docker Hub this time ?), that would be amazing !

  • @alaeddinemenai5380
    @alaeddinemenai5380 2 месяца назад +2

    Thank you @ByteGrad for your videos. Your videos are simple and any engineer can understand what your bring. There is common issue in NextJS and Docker which is access the System Env variables after the build is done in runtime. Please you can check that issue and it is still open for long time. You may share a video about how to solve that issue.

  • @qianyisha7891
    @qianyisha7891 2 месяца назад +3

    Fantastic content! I've recently done something similar for my own projects: containerizing and setting up CI/CD. It will be interesting for me to see how you continue with CI/CD in this video, and perhaps even more so, how to deploy a web server + database using Docker and Kubernetes while also integrating CI/CD (which is exactly what I'm trying to figure out now LOL).

  • @Alex.Shalda
    @Alex.Shalda Месяц назад +2

    you're a life-saver!!!! exactly what I needed at work! Cannot thank you enough!!!!!!!!!!!!!

  • @strippd
    @strippd Месяц назад +4

    Dying for a loadbalanced prod tutorial! Thanks subbed!

  • @SlavaBezgachev
    @SlavaBezgachev 2 месяца назад +1

    Thanks for the video! I completely forgot that I can use the GH registry, that actually solves a small problem I had with where to store the built containers

  • @vinniv6806
    @vinniv6806 2 месяца назад +11

    This is the content I like. Hats off, congrats.

  • @raj_talks_tech
    @raj_talks_tech Месяц назад

    Great video, just clearing the confusion around EXPOSE keyword on Docker.
    "The EXPOSE instruction doesn't actually publish the port. It functions as a type of documentation between the person who builds the image and the person who runs the container, about which ports are intended to be published. To publish the port when running the container, use the -p flag on docker run to publish and map one or more ports, or the -P flag to publish all exposed ports and map them to high-order ports."

  • @MeerUzairWasHere
    @MeerUzairWasHere 2 месяца назад +1

    Nice one! you can use automatic port mapping as you exposed the PORT in Dockerfile e.g.( docker run -P "image )

  • @imsarvesh_
    @imsarvesh_ 21 день назад

    I recently joined your channel.
    I want to tell you that your channel has most advance content than anywhere else.

  • @naylord5
    @naylord5 2 месяца назад +6

    Excelent content master!! Thank you so much for sharing.
    It would be really cool if you complement this video with a github action for building the updated image after a master commit, and push it to the VPS.
    Thank you in advance!

  • @wilbertdune
    @wilbertdune 2 месяца назад +8

    Continue this with CI/CD next video.

  • @cybor-gg
    @cybor-gg 2 месяца назад +1

    Just wanted to say I appreciate the content! Keep up the good work :)

    • @ByteGrad
      @ByteGrad  2 месяца назад +1

      Thanks, will do!

  • @illuminaughty666
    @illuminaughty666 Месяц назад +1

    Great efforts indeed! A tutorial of rebuild nextjs app after git push would be cool thing to see on this channel

  • @subhranshudas8862
    @subhranshudas8862 2 месяца назад +1

    exactly what i was looking for!

  • @gorkxs
    @gorkxs 8 дней назад +1

    You are a life saver. Thank you

  • @alecost2622
    @alecost2622 2 месяца назад +1

    Thank you. Thats very useful information.

  • @vincentpena7017
    @vincentpena7017 2 месяца назад +1

    Great content mate! More of this please. Self hosting ftw!

  • @farrukhfida212
    @farrukhfida212 Месяц назад +1

    Nice and simple and more than that to the point

  • @alvaro-escalante-naves
    @alvaro-escalante-naves Месяц назад

    So for production you reverse proxy that 3000 port to something else with Nginx or that's something you would do within docker?

  • @darkcss1054
    @darkcss1054 Месяц назад +1

    I can finally say that I climbed the steep curve of learning React/Next.js and that's in great part thanks to you. Thank you so much. You're really making a difference as a content creator.
    Related to this video, Is it possible to set a Python FastAPI backend and a Next.js front end on the same container or would I have to use 2 separate containers?

  • @RoublyGroup
    @RoublyGroup Месяц назад +1

    thank you very much you saved my life

  • @binhexoct
    @binhexoct Месяц назад

    Great video. Question: did you not get an error of ECONNREFUSED for the route handler when you did the "build" (npm run build)? How did you avoid it?

  • @404-not-found-service
    @404-not-found-service 2 месяца назад +1

    wow, thank you very much, it is appreciated, very good video

  • @vazy1902
    @vazy1902 2 месяца назад +4

    Hi, can you do dockerize with env file in your project too. Thanks you so much

  • @safa_jahan
    @safa_jahan 2 месяца назад +1

    Is there a way to automate this when you change the code? to build a new docker image and deploy it to the VPS?

  • @RationalDissonances
    @RationalDissonances 2 месяца назад +1

    In comparison to deploying on Vercel, what features / abilities we will lose if we use docker?
    I think the obvious ones are serverless functions, edge functions and edge caching. basically we will have only 1 server from 1 geo to serve all of the world

  • @DanielPenaloza-fj8yo
    @DanielPenaloza-fj8yo Месяц назад +1

    Thanks a lot! You really explained this process perfectly, can we do this with many Node.js apps with different ports and add CI/CD?

  • @danyacoding
    @danyacoding Месяц назад

    Does that mean that I can use websocket protocol & keep connection with backend if it's dockerizable?

  • @user-us3bs8px3m
    @user-us3bs8px3m 2 месяца назад +1

    How to optimize the performance of Next App similarly Vercel do.Usually Next App deployed on vercel is faster.

  • @seyfallahrouini3412
    @seyfallahrouini3412 Месяц назад +1

    Thank you so much

  • @mohdsahil226
    @mohdsahil226 Месяц назад +1

    Hi Thank you for great content. Would you please also help on how to setup dev branch on sub domain, since the port is same, it always goes to main branch. I am using nginx.

  • @kennethlau8108
    @kennethlau8108 2 месяца назад

    This only works for a single standalone but what about horizontal scaling on docker containers for nextjs ?

  • @deaaaldeen1525
    @deaaaldeen1525 2 месяца назад +1

    How to control route and api caching on next js project that not deployed on varcel environment?😢

  • @JoseWaldier
    @JoseWaldier 2 месяца назад +1

    webdevcody needs this video.

  • @sunilchannelvlog3743
    @sunilchannelvlog3743 Месяц назад

    can i ask why dont we just git clone our repo after sending our code to github repo , then run that using terminal in the vps, i am not sure why we are using docker is it necessary?

  • @martinharyanto4465
    @martinharyanto4465 2 месяца назад +1

    Great content. Can you explain the deployment part with GCP? I am not sure since they should have container registry, but how to refer the docker etc..
    Very nice content!

  • @giannifed
    @giannifed Месяц назад +1

    Thank you. Do You use a proxy server like nginx?

  • @SugengWahyudi
    @SugengWahyudi 2 месяца назад +1

    Great.., Please try dockerize Next js with Prisma

  • @dodosaurus4875
    @dodosaurus4875 2 месяца назад +1

    hey ByteGrad, have you switched to MacOS recently from Windows?

  • @trxsson
    @trxsson Месяц назад

    Bonus tip: you can just connect that to a cloudflare tunnel and thus don’t have to worry about connecting your domain properly and ssl certificates

  • @miguelangelcabrera2227
    @miguelangelcabrera2227 Месяц назад +1

    Thanks for share this!.. btw can provide de github repository?

  • @Adrian_Galilea
    @Adrian_Galilea Месяц назад

    What about caching, ISR SSR and so on

  • @abishekbaiju1705
    @abishekbaiju1705 Месяц назад +1

    Consider making a video about connecting ssl and domain to this vps.

  • @dirtysouth3291
    @dirtysouth3291 Месяц назад +2

    Great, can you make one for ci/cd pipelines??

  • @asadsalehumar1011
    @asadsalehumar1011 Месяц назад +1

    solid!

  • @kale_bhai
    @kale_bhai 2 месяца назад +2

    Now, do a kube cluster

  • @madhurchaturvedi5551
    @madhurchaturvedi5551 2 месяца назад +1

    Sir please make JavaScript interview technical coding interview questions videos and great video keep it up

  • @lovrozagar3729
    @lovrozagar3729 2 месяца назад

    It would be cool if you explain at the start what a VPS is and what are the benefits.

  • @yasseralsaidi
    @yasseralsaidi Месяц назад +1

    nice thank you, please can you do a video about github action.

  • @mma-dost
    @mma-dost 2 месяца назад +1

    Hey, can you make a crash course on micro frontend and module federation please if possible.

  • @NazarBrunarskyi
    @NazarBrunarskyi Месяц назад

    can you do please an instruction on how Dockerize nest js app????

  • @user-ih1on8ks5z
    @user-ih1on8ks5z 2 месяца назад +1

    Hi, I am still confused why such small project takes above 1GB image size ?, some projects I built almost have 3GB image size

    • @darkcss1054
      @darkcss1054 Месяц назад

      Because Node.js and all node_modules have to be copied to the image. It is supposed to be a standalone container that has all you need to run your application, even denying the necessity of a browser or a NodeJS installation.

  • @boyywnkobe
    @boyywnkobe Месяц назад +1

    What mac do u use?

  • @LOFIBOT-bp6hm
    @LOFIBOT-bp6hm Месяц назад

    I prefer dockerize only the build

  • @virtuoz-ru
    @virtuoz-ru Месяц назад

    Dockerize Nuxt.js & Deploy to VPS

  • @deeperlayer
    @deeperlayer Месяц назад

    Lmao, another F for mac users.
    thx for the info man

  • @invincibearofficial
    @invincibearofficial 2 месяца назад

    Eurgh, another video where you don't put the code in a github repo for us to reference :(