From d34c26d6299209dffd882b4bb71dca9d50a99129 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20P=C4=99dzich?= Date: Thu, 8 Aug 2024 13:42:35 +0200 Subject: [PATCH] Rename talk to "Going global with localhost" --- .../blog/from-localhost-to-global-host.md | 42 ------------ .../blog/going-global-with-localhost.md | 66 +++++++++++++++++++ 2 files changed, 66 insertions(+), 42 deletions(-) delete mode 100644 src/content/blog/from-localhost-to-global-host.md create mode 100644 src/content/blog/going-global-with-localhost.md diff --git a/src/content/blog/from-localhost-to-global-host.md b/src/content/blog/from-localhost-to-global-host.md deleted file mode 100644 index 38ba3c4..0000000 --- a/src/content/blog/from-localhost-to-global-host.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: from localhost to global host -description: "This is how I've set up my local network and machine to safely expose my personal projects and other services to the outside world" -pubDate: 2024-08-07T16:49:34.239Z -draft: true -categories: - - project homelabtop -tags: - - docker - - linux - - notes ---- - -This post is a script for a talk I gave for James Quick's [Learn Build Teach Discord](https://discord.gg/vM2bagU) on DATE TBA. If you'd like to watch that talk instead of reading its script, then [here's the VOD link](https://www.youtube.com/watch?v=dQw4w9WgXcQ). - -## Introduction - -Hello and welcome to my talk titled _From localhost to global host_, where you'll find out how I've set up my local network and my spare laptop to publicly host my personal projects and a couple of other services. You'll also get to learn a thing or two about networking, Docker, GitHub webhooks... just to name a few. - -## About me - -But first, let me introduce myself. My name is Maciej Pędzich, but if you don't know how to pronounce my it, you can call me Mac. _Professionally_, I'm a 19-year-old computer science student at the Polish-Japanese Academy of Information Technology in Warsaw. But _after hours_, I'm an aficionado of all things motorsport (particularly Formula 1 and WRC) as well as house music. - -With that out of the way, let's dive into today's topic! - -## Demo - -I go to maciejpedzi.ch, click the the analytics link in the header, show stats and move on. I click the Gitea link on my website's footer. Show off some repos' pages, but catsof.tech and six-degs-of-f1 in particular. For each repo click on the website link, briefly explain and demo the app. - -Then say: alright, it's cool and all, but some of you would probably like to ask... - -## Why bother? - -After all, there are plenty of PaaS (Platform-as-a-Service) providers such as Netlify, Vercel, Render, and so on that allow you to deploy all sorts of websites ranging from simple static sites with just a few HTML and CSS files to highly interactive SPAs built in React/Vue/Angular/etc and big metaframework projects in Next/Nuxt/whatever. - -All it takes to get a project online is authorising a GitHub app, creating a new project in your PaaS's dashboard, selecting your app's repository, maybe adding some environment variables or tweaking the build config if needed, and hitting that deploy button. - -From there, your PaaS will work its magic to build your project, distribute it to multiple servers around the world, give it a unique domain name (but you can also bring your own one), and just like that - your website, no matter how complex, is live. - -But what if you wanted to deploy a web app that's not written in JavaScript, but a different one that's not supported by any of those services? Maybe your app requires an additional component (such as a niche database) that doesn't offer affordable hosting solutions if any at all? Perhaps your app requires more horsepower than a given tier allows and you can't afford to use the tier above? - -Or maybe you're just like me - simply curious as to how to get a PaaS-like deployment setup to work on a spare computer and how to configure your local network to safely expose such computer to the outside world. After all - curiosity might have killed the cat, but as far as I'm aware, it hasn't killed a server (yet). diff --git a/src/content/blog/going-global-with-localhost.md b/src/content/blog/going-global-with-localhost.md new file mode 100644 index 0000000..177a4dc --- /dev/null +++ b/src/content/blog/going-global-with-localhost.md @@ -0,0 +1,66 @@ +--- +title: going global with localhost +description: "This is how I've set up my local network and machine to safely expose my personal projects and other services to the outside world" +pubDate: 2024-08-07T16:49:34.239Z +draft: true +categories: + - project homelabtop +tags: + - docker + - linux + - notes +--- + +This post is a script for a talk I gave for James Quick's [Learn Build Teach Discord](https://discord.gg/vM2bagU) on DATE TBA. If you'd like to watch that talk instead of reading its script, then [here's the VOD link](https://www.youtube.com/watch?v=dQw4w9WgXcQ). + +## Introduction + +Hello and welcome to my talk titled _Going global with localhost_, where you'll find out how I've set up my local network and my spare laptop to publicly host my personal projects and a couple of other services. You'll also get to learn a thing or two about networking, Docker, GitHub webhooks... just to name a few. + +## About me + +But first, let me introduce myself. My name is Maciej Pędzich, but if you don't know how to pronounce my it, you can call me Mac. _Professionally_, I'm a 19-year-old computer science student at the Polish-Japanese Academy of Information Technology in Warsaw. _After hours_, I'm an aficionado of all things motorsport (particularly Formula 1 and WRC) as well as house music. + +With that out of the way, let's dive into today's topic! + +## Demo + +I go to maciejpedzi.ch, click the the analytics link in the header, show stats and move on. I click the Gitea link on my website's footer. Show off some repos' pages, but catsof.tech and six-degs-of-f1 in particular. For each repo click on the website link, briefly explain and demo the app. + +Then say: alright, it's cool and all, but some of you would probably like to ask... + +## Why bother? + +After all, there are plenty of PaaS (Platform-as-a-Service) providers such as Netlify, Vercel, Render, code hosting platforms like GitHub, and analytics services that offer cloud-hosted solutions. They offer easy integration with one another and your apps, so taking extra steps to get similar products up and running seems like extra work with no tangible benefits. + +I've come up with 5 reasons why you too might be interested in self-hosting some of those apps and services: + +### Freedom to run whatever software you want + +What if you wanted to deploy a web app that's not written in JavaScript, but a different language that's not supported by any of those PaaS providers? Maybe your app requires an additional component, such as a niche database, for which there are no affordable hosting solutions if any at all? + +If the answer is yes, you might be interested in self-hosting, since the only limiting factor when it comes to running the software you choose is your machine's horsepower. Well, there's also your country's law when it comes to websites distributing content deemed illegal, but we're not going to discuss those. + +### Full control of your own data + +Perhaps you're concerned with the possibility of a given service suddenly changing its privacy policy to gain greater access to your data and other activity metrics, or erasing a chunk of said data without a warning? + +If so, you also might be interested in self-hosting, because it puts you in charge of everything you store on your server and there's no risk of a seemingly trusted third-party meddling with your own content or holding it hostage and demanding you to upgrade to a more expensive plan. Speaking of expensive... + +### Better cost-efficiency than a subscription + +What if a certain service has introduced a price increase across all of its plans, rendering further usage unaffordable? Maybe you've fallen victim to a _rug pull_, where a company offering a flexible free tier of their service discontinues it after a couple months or even years after its introduction? + +In some cases, it may prove cheaper to run an open source equivalent of a specific paid subscription service. There's definitely no need to worry about potentially getting _rugpulled_ either. + +### Giving your unused computer a new life + +Maybe you've got an old computer lying around and collecting dust since you upgraded to a new machine? While it's definitely sensible to list it for sale on some online marketplace or give it to a friend/relatvie who may need it, consider turning this computer into your home server if neither of the other two options work out. + +The e-waste landfills already occupy way too much space than they should, so instead of adding another computer to the pile, I highly encourage giving it a new lease of life. + +### Fun learning experience + +And last but not least, perhaps you're just curious as to how to get a PaaS-like deployment setup to work on a spare computer and how to configure your local network to safely expose such computer to the outside world. After all - curiosity might have killed the cat, but as far as I'm aware, it hasn't killed a server (yet). + +By putting this setup together, you'll gain basic yet valuable skills in network engineering and DevOps, which may help your job-hunting prospects in the future.