Your video was very well done. I was able to deploy a nodejs webapp on my first attempt. Your 30 minute video took me about 7 hours to complete and I was filled with dread when you said at the end that you had a short 7 minute video explaining how to buy a domain name. I knew that was gonna take me 30 mins to an hour. But time is not an issue, understanding is, when it's your first time. I invested the time to thoroughly understand your instructions and deploy the app. It went off well and my app is up now and ready to be tested by users. Well done!!!!
Like so many before me, THIS VIDEO MADE IT ALL HAPPEN! I had a slightly different stack going into it but this video covered key points I needed to deploy my first application through AWS. Thank you Sam!
Got my first "Full Stack" data analysis app up with this video. You helped connect a lot of dots that were not connected by amazons documentation. Thanks!
@@SamMeechWard It’s been 2 months and i’m starting a company in silicon valley with Azure as a platform you inspired me and we are getting our first investment august 1st and it’s going so well
Really useful and impressive content - I used it to setup an EC2 instance for the first time ever, get my NodeJS Express GraphQL server installed and connecting to a PostGres DB (also on AWS - so skipped the part about installing locally) get the systemctl stuff done, and Paddy for SSL only connection to my server. Took me a few hours, and rewinds to get everything done, but all working fine now! Thank you VERY much!!!!
Woahhh...Woahhhh. What a great tutorial sir!. I was thinking to learn how to host a server in cloud and what is ssh what is reverse proxy how to map domain name to our server...like man i got all the answers in a single 30min video. Thank you so much for producing these high quality videos and keep on doing em! Hats-off.
this might be a dumb question. instead of copying your files from the local machine to the remote machine. you can install git on ec2 and pull from repo ?
I've been looking for straight forward instructions for months. Thanks to you My site is hosted. Still need to figure out how to install and configure a MongDB database
can anyone explain to me how the server file and the react app both run? I am having a lot of troulble starting my vite app in the front end directory and the server from the systemD command?
I love watching people setup servers from scratch like this. Can i actually do it? Hell naw😂. Would I do it if i could? Maybe, so I'm saving this one for future reference. Awesome video
I had an express app that I deployed on AWS using this video tutorial. I am able to make a CURL request to this but the request using postman yields the error as "Request time out" what might be the issue ?
quick question, since you have a git repository in the local machine, why did you pull that one inside the app folder instead of transfering the files via terminal?
I am assuming that you are having your app.js using server.js files , so that eventually it is able to connect to it how it connect on local computer , because you could see that it is still now being running on local host 3000 so that would be able to access the 5000 port server running on it .
Awesome job! thank you. What about MongoDB and nginx, I hope you explain that someday. Another question, please: How can I get the client's IP (remote ip)?
Thank you. That's a bit more of a challenge because terraform isn't really used for single instance configuration. You would end up using something like packer to create an ec2 image of the node app, then use terraform to create a new instance based on the image. Terraform is used for immutable infrastructure, which this is not. However, I do have a series of videos on how to use terraform and packer for this kind of stuff, but you'd end up with many ec2 instances instead of just one.
Hello, my app is running in a docker container inside ec2. Can i do the same thing with an app running inside docker container ? I purchased a domain name from Namecheap, i installed caddy and i did everything you are showing us in this tutorial but i'm getting an error saying : "This site cannot provide a secure connection" and with error type : "ERR_SSL_PROTOCOL_ERROR" in Chrome and Edge and "SSL_ERROR_INTERNAL_ERROR_ALERT" in Firefox
curious - why dont you have your frontend in client and backend wrapped in a server folder with the package.json etc in the root app? just seems a little odd to have the backend spread out like that then a frontend folder inside of it all
Great video man! I just found your channel and saw 2 and were amazing. Will try and replicate that with a local project I have. Hopefully you will do some terraform and ansible too, if you haven’t done already 😅
top notch content Sam! Would you care to explain what you meant by 'I have a migration system on my app". Why did you have to run npm run migrate? Thanks!
Awesome job! Would be great to see how to move from this infrastructure to one more scalable, with a dedicated RDS instance, a load balancer and maybe different ec2 instances for different microservices, maybe using terraform. But as you said this is foundational and it's very well done!
Note on 19:18 that if you installed Node.js differently, like via the NVM Node Version Manager, you have to set different ExecStart path in the .service file - or else you'll receive an error "Active: failed [...] Process: .... ExecStart=/usr/bin/node index.js (code=exited, status=203/EXEC)" when doing "sudo systemctl status myapp.service".
12:32 i clicked the "open address" from AWS console rather than copying the address so it was opening the app in https not http and i was unable to access it. I was stuck on this for a day
Wow this is good. I have questions and suggestion. Does that systemd replaces the use of pm2? Why didn't you use pm2 Suggestion: Moving forward with this with setting up basic testing and CI CD.
quick question can we not add our git credentials to the server and then use them to pull changes and deploy from the server or if that is not a standard practice ?
I use a few different pieces of software, but my main video editing is done in Camtasia. It's pretty easy to use and all the basics are covered in their intro 45 minute video: ruclips.net/video/AE1Hfy-yw4s/видео.html
With one server, you wold always experience some amount of downtime. It could be minimal though, just the amount of time it takes to restart caddy, so a few milliseconds. The only way I know of to get absolute 0 downtime is to use multiple ec2 instances with a load balancer, which is much more complex
Finally a video from A to Z... Most video of AWS tutorial I found start from Y to Z...
true!!
Your video was very well done. I was able to deploy a nodejs webapp on my first attempt. Your 30 minute video took me about 7 hours to complete and I was filled with dread when you said at the end that you had a short 7 minute video explaining how to buy a domain name. I knew that was gonna take me 30 mins to an hour. But time is not an issue, understanding is, when it's your first time. I invested the time to thoroughly understand your instructions and deploy the app. It went off well and my app is up now and ready to be tested by users. Well done!!!!
Your comment actually motivated me to spend more time to understand everything in depth. I have also spent 10+ hours on this. Thank You.
Stumbled upon the video, and watched the whole thing - at normal speed and rewinding along the way. Great material
Ive been waiting all my life to understand what my boss had me do my computer via Google cloud run 😅. This is a hrll of a revision. thanks man.
Man, this is the greatest tutorial video that I've ever seen!
Thank you 🤗
Like so many before me, THIS VIDEO MADE IT ALL HAPPEN! I had a slightly different stack going into it but this video covered key points I needed to deploy my first application through AWS. Thank you Sam!
Got my first "Full Stack" data analysis app up with this video. You helped connect a lot of dots that were not connected by amazons documentation. Thanks!
Glad it helped 🤗
@@SamMeechWard It’s been 2 months and i’m starting a company in silicon valley with Azure as a platform you inspired me and we are getting our first investment august 1st and it’s going so well
this is exactly what I was looking for. After taking notes I am excited to practice this many times to ensure foundational knowledge. Awesome stuff!!
Really useful and impressive content - I used it to setup an EC2 instance for the first time ever, get my NodeJS Express GraphQL server installed and connecting to a PostGres DB (also on AWS - so skipped the part about installing locally) get the systemctl stuff done, and Paddy for SSL only connection to my server. Took me a few hours, and rewinds to get everything done, but all working fine now!
Thank you VERY much!!!!
Thank yo so much for this tutorial. This is the only working tutorial in the internet and explains everything so good and it only takes 28 minutes
Woahhh...Woahhhh. What a great tutorial sir!. I was thinking to learn how to host a server in cloud and what is ssh what is reverse proxy how to map domain name to our server...like man i got all the answers in a single 30min video. Thank you so much for producing these high quality videos and keep on doing em! Hats-off.
bro doesn't waste a second! quality tutorial
Just straight to the point, no nonsense. Best video ever, that covers everything.
You are amazing. The most detailed explanation I have ever seen. Thank you so much.
Your way you explain things makes you one of the best tutor i know, Thank you so much
this might be a dumb question. instead of copying your files from the local machine to the remote machine. you can install git on ec2 and pull from repo ?
Yeah but it's too much hassle just for this video. You will have to create and delete the repo
Yes, you can
I imagine that there will be some files that won't be located on the repo you may want to copy over. For example .env files
@snakefinn but he didn't copy over the .env files using rsync either lol.
imagine u lose ur git account
Your videos are always straightforward and I absolutely love them 🥰
I've been looking for straight forward instructions for months. Thanks to you My site is hosted. Still need to figure out how to install and configure a MongDB database
Hands the best video on AWS on the internet.
Thank you so much! Your video helped me setup a client webapp with ease. You teach so well! Much gratitude to you brother
Thanks so much, your way of teaching makes things simpler. Waiting for more videos 💫
You always deliver an amazing RUclips tutorial for the viewers! Your explanations are always spot on! Thank you so much!!! :)
Can you do a follow-up video, just covering changes required if using Bun instead of Node Js?
This is the finest tutorial I have ever seen. Thanks man!!
this was incredibly helpful, got my first custom domain web app running!
can anyone explain to me how the server file and the react app both run? I am having a lot of troulble starting my vite app in the front end directory and the server from the systemD command?
Thank you so much, it was very clear and interesting. Appreciate your work
Great vid. looking forward for your next video on deploying the same using ecs and eks
Great video. I would highly recommend AWS CDK or terraform.
this is the exact and perfect aws tutorial have been longing for thanks sam meech-ward
Thank you, you explained in a simple and understandable way!
Thanks man your video is very helpful for my college ✨✨, You deserve more attention 🔥🔥
Great tutorial, very well explained, easy to follow and fun to watch. greeting from DR.
Any alternatives o rysnc? Does not work on git bash
Perfect .. pace and content are magically effective. Thanks
I love watching people setup servers from scratch like this. Can i actually do it? Hell naw😂. Would I do it if i could? Maybe, so I'm saving this one for future reference. Awesome video
I had an express app that I deployed on AWS using this video tutorial. I am able to make a CURL request to this but the request using postman yields the error as "Request time out" what might be the issue ?
is it good for production app to use Postgres installed in ec2 than RDS Postgres
Great, great video - loved the explanation with each step too.
at 9:56 how do you go to my app git(main)
Fantastic video. Thanks for the clear explanations!
quick question, since you have a git repository in the local machine, why did you pull that one inside the app folder instead of transfering the files via terminal?
I have an App.js running on port 3000 and a Server.js (Backend) running on port 5000. How would this work?
+1
I am assuming that you are having your app.js using server.js files , so that eventually it is able to connect to it how it connect on local computer , because you could see that it is still now being running on local host 3000 so that would be able to access the 5000 port server running on it .
Man your videos are amazing and really clear. you gained a subscriber. Thanks
Awesome job! thank you. What about MongoDB and nginx, I hope you explain that someday. Another question, please: How can I get the client's IP (remote ip)?
great video thanks. Can you create a video about doing same with Terraform please?
Thank you. That's a bit more of a challenge because terraform isn't really used for single instance configuration. You would end up using something like packer to create an ec2 image of the node app, then use terraform to create a new instance based on the image. Terraform is used for immutable infrastructure, which this is not. However, I do have a series of videos on how to use terraform and packer for this kind of stuff, but you'd end up with many ec2 instances instead of just one.
Great tutorial! I did something similar using Linode, but used nginx instead of Caddy. Caddy seem like a simpler choice with the automated ssl.
I only recently started using it, but it's been awesome and I trust the community behind it
Hello, my app is running in a docker container inside ec2. Can i do the same thing with an app running inside docker container ? I purchased a domain name from Namecheap, i installed caddy and i did everything you are showing us in this tutorial but i'm getting an error saying : "This site cannot provide a secure connection" and with error type : "ERR_SSL_PROTOCOL_ERROR" in Chrome and Edge and "SSL_ERROR_INTERNAL_ERROR_ALERT" in Firefox
Fantastic the way you explained. And i request you make a tutorial on pm2 load balancer etc... thanks
Amazing! Thanks a lot, this is extremely helpful.
Thanks Sam, you are genius.
You are incredible kind sir. Thank you for this
curious - why dont you have your frontend in client and backend wrapped in a server folder with the package.json etc in the root app? just seems a little odd to have the backend spread out like that then a frontend folder inside of it all
Hi, amazing video! Quick question, can I setup SSL with the Public IPv4 DNS that AWS EC2 provides me?
Really helpful video. Would be nice if you could create a video about how to automate all these stuff with github actions. Thanks
Great video man! I just found your channel and saw 2 and were amazing. Will try and replicate that with a local project I have.
Hopefully you will do some terraform and ansible too, if you haven’t done already 😅
Awesome video! So from here, where do we go if we want to know how to let our applications scale?
great tutorial but I keep getting stuck at the run build step. It just gets stuck at creating an optimized production build every time
Can you clone your repo by installing git on the ec2 instance?
top notch content Sam! Would you care to explain what you meant by 'I have a migration system on my app". Why did you have to run npm run migrate? Thanks!
Fantastic walkthrough!
Fantastic comment!
@@SamMeechWard Fantastic Reply
Awesome job! Would be great to see how to move from this infrastructure to one more scalable, with a dedicated RDS instance, a load balancer and maybe different ec2 instances for different microservices, maybe using terraform. But as you said this is foundational and it's very well done!
Would be the ultimate video!
Can you please make video setting up Nginx to Nextjs? Definitely an insightful video, thank you for introducing me to caddy. 😊
Such a great video. Thanks!
Is the code used in this example available? I can't open the GitHub link
Hi I'm new to AWS cloud computing, could you explain why you used EC2 rather than AWS amplify in this instance :)
I am getting an error in windows that rsync command not found!!
Any help will be appreciated. Thanks.
eaxctly what I need, greate video!
Mind to know why can’t we start the app on port 80 and skip reverse proxy?
Note on 19:18 that if you installed Node.js differently, like via the NVM Node Version Manager, you have to set different ExecStart path in the .service file - or else you'll receive an error "Active: failed [...] Process: .... ExecStart=/usr/bin/node index.js (code=exited, status=203/EXEC)" when doing "sudo systemctl status myapp.service".
what changes are to be made?
hey i am unable to copy my folder from windows to ubuntu. I got the public key and invalid hostname error. Any solution?
Very Helpful. But can we Run Multiple Node Js Application at a time ?
12:32 i clicked the "open address" from AWS console rather than copying the address so it was opening the app in https not http and i was unable to access it. I was stuck on this for a day
Dude I've been stuck on this since yesterday and trying everything to fix it. So glad I ran into your comment :p thanks!
@@alifakhoury1958 haha same same
Amazing content, Thank you ❤
if i already have a .env on my project directory to be consumed by my node app I still have to do the env variables part for systemd ?
Wow this is good. I have questions and suggestion.
Does that systemd replaces the use of pm2? Why didn't you use pm2
Suggestion: Moving forward with this with setting up basic testing and CI CD.
Good question and suggestion.
I am currently using pm2...For CI CD I found this ruclips.net/video/fkzpywlJcMA/видео.html@@KratosCY
the best tutorial, thank you so much
quick question can we not add our git credentials to the server and then use them to pull changes and deploy from the server or if that is not a standard practice ?
Have you put the frontend requests to localhost or a specific IP?
This was really good. I leant a lot 👍
banging video mate ! Do you mind if I ask what software you use to edit your videos ? The transitions and zoom effects are top class
I use a few different pieces of software, but my main video editing is done in Camtasia. It's pretty easy to use and all the basics are covered in their intro 45 minute video: ruclips.net/video/AE1Hfy-yw4s/видео.html
Is it good practice to have your DB on your EC2?
Can I use Cloudflare to point the domain to the EC2 instance IP address?
How To Solve this
User sessions running outdated binaries:
ubuntu @ session #2: apt[1480], sshd[994]
ubuntu @ user manager service: systemd[999]
hi, will these steps work fine for a socket io or websocket node server to deploy of EC2?
Really great guide ❤❤
Great video!
Can you also tell us how to do continuous delivery?
not clear about my-app directory you move file to ec 2 instance
Can we just use docker instead going through all these steps
You are awesome!🔥
saving my life i was abou to have a stroke
Thanks. This is super cool 👍🏻
Thanks for the video! Can you make a video on how to handle new version of the app without downtime?
With one server, you wold always experience some amount of downtime. It could be minimal though, just the amount of time it takes to restart caddy, so a few milliseconds. The only way I know of to get absolute 0 downtime is to use multiple ec2 instances with a load balancer, which is much more complex
broooo this video is so solid
hey can you explain more about migrate postgres sql db into ec2 how to create migrate.ts file and other things
How can i setup the database so that it is in a private subnet and can be accessed only by the ec2 instances within my vpc
You're amazing. Thanks alot !!
This was beautiful.
Really nice explained
thank you
Thanks, this helped me a lot!!