From f02418421ee707dcfbab1c75bf7fe63c037b55dc Mon Sep 17 00:00:00 2001 From: voidarc Date: Sat, 21 Mar 2026 21:20:19 +0000 Subject: [PATCH] new article --- posts/homelab.norg | 194 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 194 insertions(+) create mode 100644 posts/homelab.norg diff --git a/posts/homelab.norg b/posts/homelab.norg new file mode 100644 index 0000000..abf6076 --- /dev/null +++ b/posts/homelab.norg @@ -0,0 +1,194 @@ +@document.meta +title: How I fell in with Linux +description: Haha war of the worlds reference +authors: [ + Adumh00man +] +categories: [ + blog + voidarc + homelab + linux + webdev +] +created: 2026-03-21T19:08:28+00:00 +updated: 2026-03-21T19:08:28+00:00 +draft: true +layout: post +version: 1.1.1 +@end + +* Some Backstory + Linux is not hard to learn. Some say it is, but they're wrong. If one can be afraid of a terminal, then I must be the bravest man + alive. But, I digress. I began many moons ago, when I was still young, innocent, and didn't know what nix was (what precious days). + I began tinkering with some ubuntu virtual machines, but, since I didn't have much of a use for them, I stuck to the desolate landscape + of windows, which was still pretty good at the time, to be fair. This was in the dark days before windows 11 struck, and before RAM was + £3000. Skip forward, to when I decided that building a PC was a good use of money. I will admit, it was a steal, even for the time. I + was doing LTT challenges before they were even popular, managing to build a fully functional machine for the low low price of about £700. + In what was to be the first issue I had ever faced, I decided to install windows. Foolish. + + That is not the point of this story, though. Fast forward again, to when I aqquired, through some sheer luck, a relative's old desktop. + It was, of course, a piece of shit. 4gb of ram, something something pentium. It was hardly anything to write home about. The only thing + it had going was that it had a whole terabyte of storage hidden within, a drive I am still using 4 years on, as of writing this, to store + all of my *legally* aqquired media (I'll get to it later). I had the brilliant idea of turning it into a server. Of course, instead of + doing anything moderately intelligent, I installed ubuntu on it, and accessed it over rdp for about 6 months. I know, revolutionary. + This was the legendary Server01, or, at least, the first iteration. + +** The first iteration + As far as I can remember, I never really hosted anything interesting for the first stretch of time. But, after seeing my success in + hosting a whole docker container (thanks networkchuck), the linux addiction began to take hold of me. I scoured facebook marketplace for + anything that could satiate my urge to fuck about with json more efficiently, until I came across a diamond in the rough. For a measly + £20, an old workstation. A HP Optiplex. Server02. + + 8 whole gigs of ram, a (moderately) more powerful processor, and even more storage. It was a dream come true. It was around this time, + too, that I installed either Arch or fedora on my laptop (All I can remember is that it had kde and was a laggy piece of shit), which + let me get used to how linux actually functioned. After another banger video from networkchuck, detailing the installation of a + load balancer, the Kemp Loadmaster (I would come to hate that name), I finally had the inspiration to reinstall everything. The second + iteration had begun. + +** The one with Alpine + I couldn't tell you why, but I got it in my head that Alpine was the lightest distro. Knowing that my "servers" (if you could call them + that) were basically E waste, I figured that alpine was the obvious choice, because of how fast it was, or something. It probably + had something to do with all the docker images that were based on it, but now I know that they're only based on alpine for the sake of + it. Alpine is a small distro, sure, but for that storage space, you sacrifice basically everything you need to live. I.e. packages. + + Even so, I transfered the kemp install over to a usb and began the installation. Both servers kitted out with only the finest alpine + images money could buy. I was quick to install docker and get up basically the only service that I had at the time, plex. + +*** Plex + Plex is shit. I can see that now. Before I knew it was propriotary nonsense, I thought it was amazing. Fast, efficient, something + something. Who am I kidding, I saw it on an LTT video and installed it immediately. I can't remember what I even hosted on there, + since it was way before I installed the arr stack or anything like that, but I switched over to my love jellyfin a few months later. + + --- + Alpine lasted a good while. I was still on windows at this point, and only really used the servers for silly little services. Before that, + though, I need to explain a key part of the plan + +** Humble beginnings + In the same video explaining the load balancer, Chuck showed me how to get a free domain. I needed a name, and voidarc was something I + had recently cooked up for some story or another, so I went with that. As you can see, it stuck. Hence, voidarc.tk was born. + + Voidarc.tk was to become a core part of my life. Using the newfound power that came with a commercial load balancer, I began adding + services left right and center, services that would follow me, if not uselessly, all the way through until the co.uk days. + Some notable services included: kasm, a remote app gateway, which was fun while it lasted, but alltogether useless; portainer, that I + never once used to start a container; code-server, where I ended up doing most of my development and management, just to name a few. + The domain also allowed me to host public minecraft servers, the domains for which had remained unchanged until a few months ago. + A few attempts at making an ssh server over https were made, but none were sucessful, because I was doing it wrong. + +** The linux era + By this time, it was the summer of 2023. My laptop had Arch on it by now, after going through a phase of being a windows machine + because I couldn't figure out intel drivers, and I was on holiday. This was the turning point. This was the holiday that turned me into + a loser. For the first week, nothing interesting happened, the same for the next week. I was using the code server I had set up to + program one thing or another, but the fact I was using linux at all was completely lost on me. It wasn't until that fateful day when + someone I knew on the campsite offered to show me her laptop that it clicked. She brought out a thinkpad, and displayed on the screen + was a linux desktop the likes of which I had never seen before. The linux desktop that would end me. + + Hyprland + +*** The transition to Linux + I didn't know at the time what hyprland was, or how it worked, but after seeing such a beautiful system with my own mortal eyes, I knew + I wanted in. I researched, coming across sway and some other nonsense I ended up not using. After a trip onto r/unixporn, I realised + that almost everyone was using hyprland. So, I did the same. I decided, still on holiday, to reinstall arch with hyprland and configure + it, so that when I got back home, I could install it on my main machine. + + Needless to say, it was a success. In the beginning, there was a lot of stealing configs, as is normal, because I had no idea what I + was doing. The day came, and I erased windows for the final time. Of course, I used archinstall, but it hardly made a difference. + The first day was spent trying to figure out modesetting so that my gpu, a GTX 1070, would work with wayland. I hate kernel options. + + A time came when I decided that there needed to be a change, so I installed a complete solution, called hyprdots. This is when I realised + that I hated that idea of bloat. I understood the minimalists! But anyway, this is an article on servers, not other random shit. + I digress. + +** The penultimate era: the plateu + I realised eventually that Alpine was also shit. So, in a frantic evening of usb installers, I switched server02 over to arch. And so it + remains to this day. I wouldn't be surprised if there were still remnants of zammad lurking in the /etc folder. Zammad was a ticketing + system that was a royal pain in my ass to install, and broke at every possible convenience. Don't even know why I needed it in the first + place, if I'm honest. Server01 remained on alpine, and still does for some reason, but only because I can't be bothered to wait for my + home assistant image to copy over to a usb. Not happening with usb2 speeds. There was a period where I tried to use proxmox on server01, + since I only wanted vms on there, but it was too slow to bother, so I gave in to the alpine gods and removed that kvm entry. This is where + development began to slow to a halt. I had bought a .co.uk domain by now, and the services I used were now set in stone. I wasn't using + jellyfin daily yet, or really anything. The most I used my servers was to watch some manually downloaded show that I could've just found + online. I believe that that was how I first watched JJK. + + I had a download manager in some docker container that I had to manually add torrents to so that they would download. What trying times. + I definately didn't know what the arr stack was even for back then, but I trudged on. Some other notable services included: + - Portainer (still didn't use it) + - homepage, for a time + - code-server, obviously + - shellinabox, probably the best thing ever made. + + And that's where it stayed for a while. I made no changes, and no efforts to remove the invasive nonsense from my life. + How sad :(. + +** De-corporatifying + There came a time when I got fed up of the overpriced nonsense shit that the companies of the world believe that we should put up with. + I wanted freedom. I wanted a better life. And more importantly, I didn't want a gruvbox themed system anymore. So, everything changed + I reinstalled arch on my main pc. I re-themed everything. But, most importantly, I purged a load of shit that I didn't use anymore. + Of course, this made me install a load of other random shit that I used for all of 10 minutes, but that's the price you pay when you + self-host. I stripped down, finally removed portainer, and focused on making my servers as useful as possible. I even automated replacing + the ip on cloudflare when *fucking vodafone* decided it was funny to change it, and not give an option to have a static ip in the first + place. This system is, of course, still in use to this day, and is using node.js and a cron job instead of anything more logical. What + works, works, but I should probably put it on n8n someday. + + I started to use Jellyfin more frequently, and get away from shit social media. I uninstalled snapchat, leaving me with only whatsapp and + reddit, which is all the modern man really needs. No more youtube shorts, either. I got into deadmau5, too, but that's unrelated. + It was around this time, too, when I decided hosting a mailserver would be a fun thing to do. It was not, and still barely functions to + this day. + + Then, the final evolution occured. + +** The last straw + I was interested in nix when i first heard of it. Imagine, a whole system, version controlled and reproducible on any machine. I know now + that that was a stupid way to think about it, but it began as it always did, with an install on my laptop. It seemed simple enough, + and I got a hyprland system working fairly quickly. Of course, the evolution of my nix config is a whole other -story- article, so I'll + save it for now. I believe once I installed nix, things began to accelerate. I began to wonder what else could be replaced. Could endless + reddit feeds be replaced by something more interesting? Could manual downloads be automated? Could I be free of the mortal coil that is + Microslop and Github? I began to experiment, on the old trusty server02. + +** Current era: before proxy manager + It all started when I finally realised what the Arr stack actually was. I had it set up within the day, importing all of my shows. More + importantly, I realised that I could automate downloading the albums that were so hard to source on mobile. It began with deadmau5, then + some other artists, and before long I had a library of 800 songs that I could listen to without the permission of some old man in a + suit (I was using auxio before then, which was open source, but shush). That was the first service that I replaced. + + Then came the second. After finishing JJK for the second time, I wanted to see the rest of the story. So, I downloaded the manga. To my + server of course. I fired up komga, and then changed my mind when the other options were worse. I finished the manga in about 2 months, + before moving onto one punch man, and now one piece (which is peak btw). There was another purge somewhere in the middle of all of this, + but I was hardly using any of the other services anyway. + + Finally, there was git. Gitea I mean. My github had become bloated with a load of shit that I didn't want anymore, like old dockerfiles + and non-functional web games. So, I left it all behind. Gitea was a breeze to set up, and I only had to change over a few links on + my local repos in order for it to work. At long last, my config was owned by me. Not microslop + +** The final realisation + Kemp loadmaster had seen me through over 4 years of trials and tribulations. It was tried and true, and worked even better when you added + a * entry in cloudflare. However, it was on one fateful night that I sight of a reddit thread complaining about speed on the Free tier. + I clicked, aprehensively, and what I saw next truly rocked me to my core. + + Free tier bandwidth cap. + + I immediately googled it, and to my utter shock, The free tier had always been limeted to a measly 20mbps. For reference, I was paying + for 900. No wonder my sites were slow, I thought, no wonder it took 2 minutes to load a word document. I had always attributed responsiveness + to the shit cpu in server02. I would never have thought that my oldest ally would betray me so. So, with a heavy heart, and a somber funeral, + I pulled the plug on the kemp loadmaster for the final time. + +** Modern day Homelabbing + Nginx proxy manager was something I had tried to use before, but not understood in the slightest. Turns out, before, I was putting the + urls in the wrong boxes. Once I had switched it over, and given my home assistant vm the ram it deserved, I was finally free. + Cryptpad actually loaded! Git pulls were as fast as they were on github! I was free! Thank God, I was free. + + Nowadays, I host only what I need on my servers, the latest of which being this Blog site. The only thing I don't use is syncthing, but + you never know when that might come in handy. And yes, I did figure out how to use ssh over cloudflare, and do on a regular basis. + The Arr stack and jellyfin save me from having to crawl through the pirate bay every time I want to watch a movie, and Cryptpad saves me + from the affront to humanity that is onedrive. The last thing I still have to do is switch to grapheneos, but that would be a whole + article within itself too. + +** The moral of the story + If I were a youtuber, I would give some do's and dont's on how to set up your own homelab. But, I'm not a youtuber, or knowledgeable. + So, If I had to give some advice, I would say 2 things: + + If you're going to start, then do it. If you wait until you're ready, you'll be waiting for the rest of your life. + + And, whatever you do... + + Stay the fuck away from Zammad.