195 lines
15 KiB
Plaintext
195 lines
15 KiB
Plaintext
@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-21T21:20:48+0100
|
|
draft: false
|
|
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.
|