Setting up a production ready VPS is a lot easier than I thought.

Поділитися
Вставка
  • Опубліковано 21 лис 2024

КОМЕНТАРІ • 631

  • @dreamsofcode
    @dreamsofcode  2 місяці тому +28

    To get your own VPS instance visit hostinger.com/dreamsofcode and use the coupon code DREAMSOFCODE

    • @mx338
      @mx338 2 місяці тому

      Cool video, hostinhee is fine but over all Hetzner is a lot better.

    • @dev-akeel
      @dev-akeel 2 місяці тому

      @@dreamsofcode Wow really an incredible video.
      I am expecting a more detailed video, especially about traefik and monitoring.
      And I have a confusion, you exposed port 8080, does that mean I can access your traefik dashboard?

    • @dreamsofcode
      @dreamsofcode  2 місяці тому

      @@dev-akeel When it was exposed you would have had access! But I removed it at the end of the video :)

    • @dev-akeel
      @dev-akeel 2 місяці тому +1

      @@dreamsofcode For yourself as well? Means you no longer have traefik dashboard access?

  • @MightyMoud
    @MightyMoud 2 місяці тому +107

    Dude I have so much respect for you. I can tell you write a script and you put so much effort into those vids. Mad respect dude!

  • @bvdlio
    @bvdlio 2 місяці тому +48

    I find that the difficulty in setting up a VPS properly does't lie in de setup itself, but knowing what things to setup in order to do it properly. This video is great in reminding you of the essentials to do so correctly and safely. Great video!

  • @matthewpulls441
    @matthewpulls441 2 місяці тому +171

    15+ Years experience and I still learned something thank you.

  • @fifty6737
    @fifty6737 2 місяці тому +37

    this dude lowkey uploaded one of the best tutorial out there for a good vps production setup

  • @the_saliheen
    @the_saliheen 7 днів тому +1

    This video is a testament that it's easier and honestly better to go with the cloud provider like vercel or aws if your app doesn't have 500 active users. Just focus on writing features to attract the customers. This VPS approach can easily swallow a week of configuration.
    That being said, I do have a medium traffic app which costs me about $86 monthly between vercel and aws thanks to ELB and RDS. That's a lot of money for me, so I might look into alternatives, but not before I check how to use Serverless.

  • @yewo.m
    @yewo.m 22 дні тому +5

    This definitely needs an accompanying article version to make it easier to follow (and honestly to copy-paste commands)

  • @patriciodelboca7898
    @patriciodelboca7898 2 місяці тому +34

    Another great point of VPS is that what you learn can be applied on multiple hosts. While learning how to deploy to the cloud will work only for one provider. VPS = Freedom!
    Well done!

    • @jordixboy
      @jordixboy 2 місяці тому

      na not true dude. Almost all cloud providers offer the same services but with different names. Its all the same shit

    • @nou4605
      @nou4605 2 місяці тому

      @@jordixboy Yes and no. If you are using something proprietary you'll need to migrate. It isn't 1 click and done.

  • @TotalImmort7l
    @TotalImmort7l 2 місяці тому +38

    Thank you a million times for this video. I was looking for a way to get started with self hosted deployments and this video is a goldmine for information for me.

  • @Vinicius7cordas
    @Vinicius7cordas 2 місяці тому +8

    Few months ago I (FE dev turned into Full Stack) struggled to setup a VPS to deploy as a testing env for a LAMP application, and later a React+JAVA app. This video covered many subjects that cost me days.

  • @p_o_z_e
    @p_o_z_e 2 місяці тому +9

    This video is amazing! i've been in the same boat as you feeling a bit "scared" of setting up a production VPS and this videos really makes it much more approachable. 100% gonna try this myself now. Thanks

  • @josephnduati1214
    @josephnduati1214 2 місяці тому +2

    This is really great. Most of us have a vps with some app but I guess many have not containerized, load balanced, automated the deployment and implemented monitoring and observability. Thank you so much for your time on this.

  • @badtrapify
    @badtrapify 2 місяці тому +22

    In the past i used to deploy my stuff pretty similiar.
    Nowadays i do it using podman instead of docker, which also supports quadlets as container / network / pod definitions or if you like even kubernetes manifests and has podman auto-update included. That way you don't need to run a separate watchtower container, just add a label to containers that shuld be auto updated. Also it's daemonless and rootless which is pretty cool. You just have to allow non root users to bind to low ports sttarting at port 80 for http, so traefik can tcp bind there.

    • @kai-.-man
      @kai-.-man 2 місяці тому +3

      Nice! Can you share anywhere to start reading up on this setup?

  • @alexeycherkashin6251
    @alexeycherkashin6251 Місяць тому +2

    Next challenge for you: make all those steps part of your code. So you can spin up an instance of your app on any new Hostinger VPS 😉
    As a Ruby developer, I've tried Cher recently. But I find its infrastructure very unclear and misleading. So I'm going to explore something simpler as a solo developer: Ansible maybe.
    In fact, I had a ToDo item on my "Do it later" list about making infrastructure as a code for a new VPS since I was 18. Your channel is the finding of the year for me. I highly appreciate the great video quality. Good job🎉

  • @TheLongBen
    @TheLongBen 2 місяці тому +7

    This is by far the best technical video I've watched since a few years. Kudos to your efforts and best wishes from India! 👏

  • @AnthonyBullard
    @AnthonyBullard 2 місяці тому +62

    This was a great video DOC. One pendantic note: the æ in traffic is a symbol in IPA (International Phonetic Alphabet) for exactly the sound the "a" in traffic makes. Maybe not ideal to make branding that only appeals to Apex-level language nerds like myself, but it works 🙂

    • @AnthonyBullard
      @AnthonyBullard 2 місяці тому +5

      I loved it enough to join your channel, something I don't do often. Keep up the great work you do!

    • @dreamsofcode
      @dreamsofcode  2 місяці тому +5

      TIL!

  • @achaabni
    @achaabni 2 місяці тому +2

    Man, until yesterday, I only developed products in companies infrastructure, yesterday and thanks to you I managed to make my own multi-containers project online.
    Thanks a lot.

  • @victor141516
    @victor141516 2 місяці тому +337

    Great summary! I don't really understand why people are so afraid of using VPS for production. It's not really that different from cloud bs, and companies usually have a sre team anyway 😂

    • @Dogo.R
      @Dogo.R 2 місяці тому

      @@victor141516 Will keep in mind that most cloud providers are providing software as well. People mostly go to clouds for the cloud specific software. I mean that's primarily the difference between the cloud and VPSsm

    • @maxlikessnacks123
      @maxlikessnacks123 2 місяці тому

      @@victor141516 You need to handle security yourself. You need to handle downtimes yourself. If your hoster goes down, your website does too. The benefit of these services is that they have an uptime of 99.99% which is on of the biggest selling points to use a cloud provider but you are right, a VPS is perfectly capable of running a production deployment.

    • @jordixboy
      @jordixboy 2 місяці тому +3

      VPS is bullshit for production, you should get a dedicated server for production in any case. If one VPS gets over its resource allocation it could affect your VPS... no way getting a VPS for an actual real production product...

    • @maxlikessnacks123
      @maxlikessnacks123 2 місяці тому

      @@jordixboy That's crazy cuz I've been hosting my production deployment on a vps for 1 year now. I totally agree with you on having issues when anything happens but as long as you keep an eye on your metrics, it'll be fine. Or go with a managed kubernetes cluster. As I said in my comment before which got deleted(???), is that you have to do a lot of maintance yourself. If you don't want that, then go with a dedicated or managed solution. But these can get expensive and if your product doest make any money yet, for some people that's too much. For data though, I got mongodb atlas which is expensive but data is important. If the website goes down its bad but fine. If you lose your data or get hacked you can shut down your service.

    • @SpaghettiRealm
      @SpaghettiRealm 2 місяці тому +59

      @@jordixboy vps is not a shared hosting, vps means virtual private server which as the name says it’s virtual and private and no vps can get over the allocated resource that’s one of the features of virtualisation

  • @Apieces2008
    @Apieces2008 Місяць тому +1

    It's so rare to me for comment something on youtube, but you deserve it: THANK YOU A LOT. This is a gold mine. Very, very good! I have 15 years of exp and I never seen someone teach in such a simple an easy way.

    • @dreamsofcode
      @dreamsofcode  Місяць тому

      Wow, thank you! I really appreciate that

  • @nielskersic328
    @nielskersic328 2 місяці тому +54

    Great stuff! I would love to see you do a deep dive like this into observability. I feel like there are a billion different Grafana tools and like you mentioned, adding the LGTM or ELK stack would increase the complexity of this setup significantly. But observability is so valuable, so I’m really interested in your approach!

    • @dreamsofcode
      @dreamsofcode  2 місяці тому +2

      I'll definitely do a series on observability! Maybe more SRE focused content as well!

  • @kRySt4LGaMeR
    @kRySt4LGaMeR 2 місяці тому +77

    Pleasantly surprised by how information dense and straight to the case this video is!
    About 9:55, the term "security by obscurity" has a bad connotation rightfully so, but in this case changing the default sshd port I'd say is really important. OpenSSH is a battle-tested application, by changing the port of the server you're adding an extra layer of protection. Security by obscurity is a bad when it's the only factor in your defenses, but as an extra layer can be do wonders. Your logs will have less spam, your bandwidth will be less wasted and in the worst case scenario of a 0-day you can buy yourself some time.
    On my previous job, I was so paranoid that I used a ssh bastion host with a non-default port while the target machine only accepted ssh traffic from within the network. This had the added bonus that the sshd exposure was minimal and reserved to only when I was working on the machine.

    • @iaadsi
      @iaadsi 2 місяці тому +11

      A while ago I noticed a sustained ~10 Mbps traffic on a very cheap VPS with a 100 Mbps link. It was all automated scanning of SSH from IPs in all the usual countries. Moving SSH to a high port wards of these low-effort scanners. If you're also running fail2ban, non-standard port means you don't end up with half the internet in your firewall rules.

    • @klaernie
      @klaernie 2 місяці тому +4

      In my opinion using a high port becomes pointless nowadays, since IP scanners and databases like Shodan will discover SSH on a high port eventually.

    • @iaadsi
      @iaadsi 2 місяці тому

      @@klaernie So what's the best practice now? Hide SSH behind WireGuard?

    • @klaernie
      @klaernie 2 місяці тому +3

      @@iaadsi that would just be trading one protocol for another, both offering some attack surface. I just resort to using fail2ban and hardware SSH keys, disabling password based access. And if that is not hardened enough, I would forgo a classic OS entirely - using Talos Linux on bare metal to host the workload in Kubernetes, and having management of the host done the same way as Kubernetes does: API based, authenticated with client certificates.

    • @iaadsi
      @iaadsi 2 місяці тому +2

      @@klaernie thanks, I got some reading to do :)

  • @Mikesco3
    @Mikesco3 Місяць тому

    This was a cargo container load of value!!!
    It is so nice to see a youtuber posting a video of what he actually knows about rather than fumbling his way through pretending he does...

  • @sanjaymunde2270
    @sanjaymunde2270 2 місяці тому +2

    This content is gold, it briefly summarises my 3 years of experience in 30 mins 👌🙏🏽

  • @AlwaysStaringSkyward
    @AlwaysStaringSkyward 2 місяці тому +3

    Nice video! I'm a huge proponent of running my stuff on VMs like this. One thing worth considering is to use something like tailscale for access to the server and configure SSHd+UFW to only be accessible over that. It is a little more secure and removes the constant annoyance of SSH scans. If you need to scale to more VMs they can talk to each other securely over tailscale even if they are on different providers.

  • @zebcode
    @zebcode 2 місяці тому +6

    What I really appreciated from this video was a breakdown of how you sort of put together requirements. It would be great to have a more in depth video covering an overview. Something like the following. No need to go into too much depth but maybe each part a quick demo and things to consider.
    Road map
    Defining requirements (I like to use the WRSPM model)
    Assessing market value and profitability
    Evaluating whether or not it's a good idea? Perhaps a business model canvas or something.
    Wireframung UIs
    Designing architecture
    Setting up a site with a coming soon message perhaps a quick one with tailwind and astro. So you can copy paste ui elements straight in ans easily edit them.
    Basic GDPR compliance and considerations (privacy policy, cookie notice) astro markdown file.
    Maybe touch on analytics
    Adding a sign up and newsletter to the site
    Engaging with an audience.
    Getting feedback through surveys
    Basically everything you should do before you start coding.

  • @bo_leang
    @bo_leang 2 місяці тому +1

    In my opinion, this tutorial is the best practice for deploying applications to Servers from scratch to complex. I learn more about setting up my Server.

  • @congminhluu5068
    @congminhluu5068 Місяць тому +1

    I expected some heavy ads and way of doing things that are integrated into hostinger's ecosystem. What I got was a bunch of really useful tips and info. Thanks a lot!

  • @TheOnlyEpsilonAlpha
    @TheOnlyEpsilonAlpha 29 днів тому +1

    Nice Tutorial 🎉specially the TLS + HTTPS Part was very inspiring.
    But there is one thing you can add to the stack to lower costs and you are in control of monitoring: Uptime Kuma.

  • @ricardomoreira1556
    @ricardomoreira1556 2 місяці тому +8

    This the best video I’ve ever seen on the topic! Great work!

  • @koffiezet
    @koffiezet 2 місяці тому +20

    Not using IaC I honestly don't consider as production ready, for which in this relatively simple case I'd probably pick Ansible. However this seems to be a pretty good step-by-step you can easily translate into an Ansible playbook.
    My main remark is that because you skipped the database setup locally, I don't see any mention of backups - which is something a lot of people forget, and absolutely critical for a production ready setup.

    • @dreamsofcode
      @dreamsofcode  2 місяці тому +7

      Agreed. Setting up a database for production ready is a more involved process. My main goal was to focus more on the application side rather than the database side of the equation

    • @giannissavvidis1570
      @giannissavvidis1570 2 місяці тому +3

      @@dreamsofcode can you make another video just for setting up a Postgres database in a VPS? That one was really helpful

    • @dreamsofcode
      @dreamsofcode  2 місяці тому +9

      ​@@giannissavvidis1570 I absolutely can! This is great idea.

    • @nickwoodward819
      @nickwoodward819 Місяць тому

      @@dreamsofcode subbed for this - would be amazing

  • @ElTebe
    @ElTebe 20 днів тому +1

    Really like this video, ground up from the first steps, clear and show the “howto parts” too. Thank you.
    Just a notice: Unfortunately Docker get updates frequently when you have to update/restart the whole service, and sometimes it cannot restart cause some reason (for example a config flag changed in the new version). The other sadly thing when the underlying docker image contains virus (crypto mining, bot, backeoor or other..) or just simple a bug. This is great for a small hobby or test project of course, but far from a “production” solution, theres a lot of single point of failure.

  • @bloab
    @bloab Місяць тому

    This is a really cool tutorial, not only do you teach tons, you also cover any step anyone else could've taken. Thanks!!

  • @giftcp82
    @giftcp82 Місяць тому

    what an awesome way to advertise a service. educating and selling at the same time

  • @sergiorebelo-MO
    @sergiorebelo-MO 2 місяці тому +47

    If you're looking to deploy your own monitoring solution (probably best on a separate VPS), Uptime Kuma is a great FOSS project.

    • @alanjrobertson
      @alanjrobertson 2 місяці тому +1

      Yep, absolutely love it! Dozzle is also great for viewing logs from the browser.

    • @Glatze603
      @Glatze603 2 місяці тому +1

      But how will you be informed if Uptime Kuma is down? In this case, Uptime Robot is the better choise because it is not part of the systems to be monitored.

    • @wi1h
      @wi1h 2 місяці тому +1

      ​@@Glatze603 how will you know if uptime robot goes down?

    • @Glatze603
      @Glatze603 2 місяці тому +1

      @@wi1h It´s a public service and when this goes down, your private homelab is not down, too. In this constellation, you have 2 different service-stacks.

    • @wi1h
      @wi1h 2 місяці тому

      @@Glatze603 but you'd set up uptime kuma on its own vps in a different region or whatever, so it's still two different "service stacks". or you can do it in your homelab with the vps outside of it, or vice versa
      i've had uptime kuma running on a free tier ec2 instance for about six years monitoring my homelab services, i've never had to touch it and it's never gone down

  • @anastasiosdados6375
    @anastasiosdados6375 2 місяці тому

    As an SRE, I would also say amazing exlanation and walkthrough. Voice + mic also helps a lot. Great content keep it up

  • @Arillaxe
    @Arillaxe 2 місяці тому +2

    Great tutorial! I would also add a step to setup an auto run for the docker compose to run on boot. Cause once the server goes down for any reason, you would need to manually start the services again

  • @janjanusek4383
    @janjanusek4383 Місяць тому

    many thanks, I managed to set it up, the deploy part is slightly different for my use case but it took me only one day, which is much much better timing than a week :) Many thanks, you just made one more PROD to be up and running

  • @georgemwaniki
    @georgemwaniki Місяць тому

    As a frontend dev who fear ci/cd and anything linux that was the best deployment walkthrough ever, great video

  • @aloktiwari784
    @aloktiwari784 26 днів тому

    This was far most detailed video I've seen around VPS, Great!! 💯

  • @mohammedbageri00
    @mohammedbageri00 2 місяці тому +1

    this is by far the best vps tutorial that I have ever seen, keep up man.

  • @joeljunior1119
    @joeljunior1119 2 місяці тому +4

    That was awesome! I would love to see a observability implementation next.

  • @tek9ine130
    @tek9ine130 27 днів тому

    I recently set up a homelab and this was the exact video I was looking for. Thank you so much for doing what you do!

  • @JoshIbbotson-
    @JoshIbbotson- 2 місяці тому

    This is so damn good. I setup my own VPS before on digitalOcean as a junior dev and it was shaky to say the least. Having everything outlined for me here is brilliant going to utilise this 100%

  • @seventeeen29
    @seventeeen29 2 місяці тому +2

    Would love to see a follow-up on a production-ready db!

  • @MuhamadAzizPrasetyo
    @MuhamadAzizPrasetyo 2 місяці тому +1

    I don't know what to say other than thank you. You got a new subscriber here! Mad respect for your effort!

  • @nixigaj11
    @nixigaj11 2 місяці тому +4

    Another way to further harden SSH is by setting up a WireGuard VPN with the VPS and only allowing packets on port 22 through that VPN, thus achieving layered security. WireGuard also has a smaller attack surface than SSH.

  • @Radinmsv
    @Radinmsv 2 місяці тому

    This video was a game-changer for me as a junior developer. I learned so much. Thank you! 🔥

  • @emiellr
    @emiellr Місяць тому +2

    Mate, I believe you're required to flip the 'sponsored video' toggle in youtube. It displays a little label at the start of the video indicating that it's sponsored. Great vid! 👍👍

  • @junyangchin6993
    @junyangchin6993 2 місяці тому

    Very well explained. I also liked that you did not use any proxies and CDN which are nice to haves but aren't absolutely necessary

  • @ness43
    @ness43 2 місяці тому +1

    That's the kind of video we love! Excellent work, and I really enjoyed the little animations with Traefik and Watchtower haha !

  • @mrexodia
    @mrexodia 2 місяці тому +3

    I would suggest also setting up the firewall directly in the VPS panel. This makes it so any accidental rules on the VPS don’t automatically expose the wrong ports (eg the docker iptables issue would be prevented). The obvious downside is that you need to define the rules twice.

  • @therohitdas_com
    @therohitdas_com 2 місяці тому

    I have been using VPS and deploying for the last 4 years, still learned some new things!

  • @BonganiNdlovu
    @BonganiNdlovu 2 місяці тому

    Excellent break down, have a similar setup using the original docker based rancher to manage the stack - cheers for sharing, watchtower is great find!

  • @SpaceChicken
    @SpaceChicken 2 місяці тому +2

    I'd never used Watchtower in a Dockerized environment, how cool! Like Vercel for backends. Thanks!

    • @dreamsofcode
      @dreamsofcode  2 місяці тому

      I was pleasantly surprised by how easy it was with docker compose!

  • @solknar7819
    @solknar7819 2 місяці тому +2

    Awesome video as always! I have been through the same journey as you, and the outcome of that learning is the ecodev-infra repo (and an associated mkdoc documentation that may help some). There you might find dozzle interesting for quick logging, uptime-kuma (instead of uptime robot, might as well use the original OS tool ☺), more considerations on security (the ufw/docker correct interaction that you mentionned, modsecurity waf/fail2ban/secure headers via traefik...) and much more (like a simple bash script to automate the parts you did on setting up an user, installing docker, setting up ufw ...) ! Hope you can benefit from it as I benefited from your 2 channels! ☺

    • @tuanvumaihuynh
      @tuanvumaihuynh 2 місяці тому

      Your repo is so good bro, I usually use caddy for reverse proxy, after watching this video may be I will give traefik a try :))

    • @solknar7819
      @solknar7819 2 місяці тому

      @@tuanvumaihuynh Thanks so much! 🥰 If you liked it, the follow up is the associated documentation, and then ecodev-app for a modern python (fullstack) web-app! Hope it can help others too! 😊I was so thrilled to see this video, if @dreamsofcode is doing it I cannot be that much in the wrong ahahah

  • @Raren789
    @Raren789 Місяць тому

    Great video, I was deploying my own app on a vps not that long ago and I wish I knew about traffic. Nginx is great, but sometimes it was a bit of a pain, as I practically never used it before. Traffic seems so nice with it's integrated docker compose, scaling and TLS capabilities

  • @ChuckAsum
    @ChuckAsum 2 місяці тому

    I was about to comment about the lack of historical monitoring ability for the definition of production ready, but I appeciated your explanation at the end why you decided to just use a simple uptime monitor.
    I think your video definately has one of the realest takes on what considerations, challenges and viable solutions in the web development industry - not only that I am impressed you were able to create this on such a small budget.
    Would be interested to see you add log and performance monitoring on a budget aswell - if the off the shelf products exist and perhaps can be feasibly be run on the same box with a log retention of X amount Gbs or X amount of days.
    Again awesome video, I will share this with my team :)

    • @dreamsofcode
      @dreamsofcode  2 місяці тому

      Thank you for the kind feedback! I really appreciate it.

  • @soulofangel1990
    @soulofangel1990 2 місяці тому +1

    Much appreciate it. a video of how you created the the application on Golang would be great too... amazing stuff.

  • @majestif
    @majestif 2 місяці тому

    The quality of the content in this tutorial left me no choice but to subscribe 😁

  • @Redyf
    @Redyf 2 місяці тому +6

    The timing for this one was perfect haha, great video!

  • @ErmandDurro
    @ErmandDurro Місяць тому

    Wow what a great video. I am actually thinking to give it a try as well. Just to learn a bit more on setting up VPS for production 😃

  • @baronvonherzenberger2473
    @baronvonherzenberger2473 2 місяці тому

    This video is great! Thanks a lot. It's good to know that there are still talented people producing quality content.

  • @mikesmarcell15
    @mikesmarcell15 2 місяці тому +1

    Awesome video! I hope to see a video about how to setup a production ready database on a vps as well

  • @yrk06
    @yrk06 2 місяці тому

    Great Video! Very well paced and very informative.
    About the firewall, I have my VPS in digital ocean, and they provide a firewall layer outside the VPS. Using that I’m able to limit port access without having docker issues, this could also be a viable firewall strategy in your scenario

  • @marcempunkt9737
    @marcempunkt9737 2 місяці тому +2

    I love using arch as server os for my side projects the arch wiki is a nice to have and unless you do some weird things it "should" never break. Ill update this comment until it does but right now rocking arch linux as a simple html/js/css website server for over a year and half

  • @korczas
    @korczas Місяць тому

    Thanks man. You saved me over 2000$ - this is the quote I received from company for similar setup.

  • @hacking4good
    @hacking4good 2 місяці тому +2

    Wow, I learned so many new things... Great job, sir 👏

    • @hacking4good
      @hacking4good 2 місяці тому

      In the end, how much did it all cost? (Hostinger, Domain, etc)

  • @Play_Streams
    @Play_Streams 2 місяці тому

    This is one of the best VPS setup videos on YT. Thank you

  • @harunjeylan9362
    @harunjeylan9362 Місяць тому

    This is the only video you need to configure your VPS.

  • @nathannych
    @nathannych 2 місяці тому

    Wow! This is the exact solution that I need for my homelab attempts. I know what I'll be working on this weekend. Thank you, thank you!

  • @PanicAtProduction
    @PanicAtProduction 2 місяці тому +58

    Nice video but you forgot backup/recover. It is the fundamental part of the cloud.

    • @benjamismo
      @benjamismo Місяць тому +3

      backup of the whole vps man, not more than 2 dollar a month for most provider

    • @VictorJoseph-lu2rs
      @VictorJoseph-lu2rs Місяць тому

      @@benjamismo what is your backup frequency?

    • @benjamismo
      @benjamismo Місяць тому

      @@VictorJoseph-lu2rs daily, all my vps run on linode, they have an option for that, for an extra 2$ I have daily backups

    • @aymanhenry4725
      @aymanhenry4725 26 днів тому

      The vps provide give this option, for more payments

  • @lilyydotdev
    @lilyydotdev 2 місяці тому +3

    Please also consider IPv6 when deploying like this. It's easy enough to simply point an AAAA record of the same name to the server's IPv6 address and set any services such as a web server/load balancer to listen on [::], as well as to enable the firewall on IPv6. UFW will even add IPv6 records for you by default if you do not specify the address family explicitly.

  • @sm5172
    @sm5172 2 місяці тому

    Excellent presentation and channel overall, well done and thank you, sir! Found you only today and already watched a couple with great interest.

  • @fjveca
    @fjveca 2 місяці тому

    you have no ide how much I needed this video, it's basically perfect

  • @matthewaraujo7361
    @matthewaraujo7361 2 місяці тому +1

    What a great video, my man! I thought this would be much more complex

  • @billy.n2813
    @billy.n2813 Місяць тому

    Thank you for this! I think I am cured from my VPS-phobia 😅
    I thought it was much more difficult

  • @74Bagas
    @74Bagas 2 місяці тому

    this is my jam. we're on the same journey. very informative

  • @mementomori8856
    @mementomori8856 2 місяці тому

    Quickly becoming my favorite tech channel!!!

  • @epithesi_sobrero
    @epithesi_sobrero 2 місяці тому

    Excellent video dude! Clear explanation on everything and focusing to things that are important!

  • @eiley1336
    @eiley1336 2 місяці тому

    One of the best videos I've seen out there. Thank you so much for this video!

  • @dipereira0123
    @dipereira0123 2 місяці тому

    This is the practical version of what you learn in a 1+year of SRE course

  • @roguesecurity
    @roguesecurity 2 місяці тому

    Great video. Thanks for sharing. I feel taking backups should also be in the checklist.

  • @achaabni
    @achaabni 2 місяці тому

    my man, you have a way to assure us and now I am planning to make a copy of this.
    Thank you

  • @anth-mg
    @anth-mg 29 днів тому

    Would love a follow-up to this to see how to setup multiple different websites on the same VPS

  • @humadi2001
    @humadi2001 2 місяці тому

    This guy has pure passion

  • @blazenetwork242
    @blazenetwork242 2 місяці тому

    What an amazing synthesis. Well done!

  • @bopon4090
    @bopon4090 2 місяці тому

    I have so much to learn form this, go prod ready code, traefic, ufu, tls management and many more. Thank you bro

  • @ratomedeiros
    @ratomedeiros 2 місяці тому

    Dude, this video is so great of content, you did it great, congratulations!

  • @recursivecube44
    @recursivecube44 2 місяці тому

    Great video! Would have been a great resource when I set up my VPS originally. It is reassuring that I use a very similar setup on my VPS.

  • @eldaria
    @eldaria 2 місяці тому +62

    Something is missing on your list. System Maintenance. Running a VPS means you have to take care of ensuring system updates and security patching.

    • @personofsomething6205
      @personofsomething6205 Місяць тому

      any advice on tools or resources to do so?

    • @PASTRAMIKick
      @PASTRAMIKick Місяць тому

      ​@@personofsomething6205 probably start with IaC and Ansible, from there you'll get some ideas

    • @quentin.aventure
      @quentin.aventure Місяць тому +2

      @@eldaria A lot of production requirements are missing, it’s more of a personal project tutorial than anything else.

    • @foodlover195_
      @foodlover195_ 21 день тому

      ​@@quentin.aventure What are the other requirements someone would need to consider? Genuine question.

  • @pulsechainalltheway1845
    @pulsechainalltheway1845 2 місяці тому

    Wow, so much information in a single video. Thank you

  • @MerthanMerter
    @MerthanMerter Місяць тому

    wow this was the coolest video ive seen lately

  • @hamadrehman853
    @hamadrehman853 2 місяці тому

    Caddy is king for most prod needs

  • @indramal
    @indramal 25 днів тому

    0:00 - Introduction
    1:17 - Make TODO list
    3:25 - Ad of Hostinger
    4:28 - Setting up Hostinger VPS
    5:32 - Set up SSH
    6:02 - Create new user account
    6:25 - Add SUDO permission to new user
    6:40 - Switch to new user
    6:53 - TODO 1: Domain name setup
    7:50 - Add TMUX
    8:22 - TODO 2: Open SSH Haroening
    10:19 - Check DNS recodes
    10:33 - TODO 3: Go Web App Running
    11:32 - Add Database and setup env
    12:16 - Add Docker to VPS
    13:47 - Setup docker image for web app and run
    14:42 - TODO 4: Setup Firewall - UFW
    17:12 - Setup Reverse Proxy - traefik
    19:51 - TODO 5: Setup Load Balancer
    21:14 - TODO 6: TLS Certificate
    23:33 - HTTP Redirect
    24:15 - TODO 7: Automated Deployments - Watchtower
    27:58 - TODO 8: Monitoring

  • @Glatze603
    @Glatze603 2 місяці тому

    Thanks for this really great video. I would add another layer of security concerning the access of your web applications: add authelia in combination of traefik, so you are able to bypass authentication (like for your guestbook) or you configure simple authentication or 2fa authentication for each web app. With this option, you could add further web based docker images, you can protect with this step.

  • @vishwanathbondugula4593
    @vishwanathbondugula4593 2 місяці тому +5

    You can decrease the TTL to get the DNS propagation quick, but the downside is that the cache for these dns entries only live for small amount of time, meaning that the dns lookup times might go up a little. Also I would have gone with a debian image just because out of the box it is very lightweight and has like 10 processes at max running, with very less storage usage and RAM usage, Ubuntu always feels a little bloated

  • @AhmadMughal1
    @AhmadMughal1 2 місяці тому

    Very good video and i loved all the details you added.
    I am definitely trying this on my own VPS just to learn more.

  • @gkiokan
    @gkiokan 2 місяці тому

    Nice one. You should make a Video with VPS + Portainer in between.

  • @zzackkkk
    @zzackkkk 2 місяці тому +1

    Please can you make a video to convert this into terraform? That would be amazing. Also, adding a video for logging, custom metrics, and APM would make this a fantastic series.

  • @AdamSowinski
    @AdamSowinski 2 місяці тому

    I've reached to 12 min of your video and already felt like deployment is harder than I thought.