My Journy to Kubernetes land #1

Published on 08 January 2025
6 min read
homelab
kubernetes
media server
My Journy to Kubernetes land #1

The Kuberenetes way

The love story started with a single docker container. In this posts I will try to go through how I started, the process and how I ended up with this setup. as much as I could since it was never a straight path 🐋

The Discovery

Years ago it all started when I discovered docker containers. I remember I needed a solution to cache downloaded games so I dont consume alot of bandwith and resources. The main goal was to make it faster. I downloaded Game A in PC#1. I redownload the same game in PC#2 but this time it will fetch it from the local cache server.

I had no clue what docker was. Yes you heard that right. Not a single clue! I found a project called lancache. Im comfortable with computers so I thought lets give it a go. So I did.

The meetup

I had a Desktop PC with 32GB Ram and intel i5. and about 6TB for storage. I thought well this gonna be a server “lets just install linux server on it, and we will go from there” I barley knew how to cd and ls. Today my main daily driver is linux. funny how things work 🤣. Anyways I installed ubuntu server. Followed the instructions on running lancache from github and the docs. Aaaand it was running successfully! I was happy. its doing what its inteded to do. I have Orchestrated this I thought.

One of my friends was my tech guy for the tech guy if you know what I mean. I myself was the tech guy for everyone else. But he was my tech guy! I was proudly showing him the setup. He said and I quote “Oh you are running it in a docker container” I had no clue what was that. I just followed the instructions I knew docker was involved because I wrote some commands started with docker. However I had no clue what it was. He is software engineer, Backend specifically not a devop so he knew what is it just not fully. I told him yeah “uhh yeah docker!“. What the hell is that? where can I see the cached files why everything looks gibbresh! He proceeded with explainging docker to me. “its basically a small virtual machine running ubuntu in your ubuntu except it shares the kerneal so its lighter than a VM”.
noclue He lost me at kernal. But I kind of understood the idea. I did my own search. Found another project called jellyfin where you can watch movies and series streamed locally! At first I wasnt excited for the project per se. I just wanted to go through the journy of running it. So I did what I do best. Google it, Follow this instruction I found in a blog post. I spent few hours and it was running! on the same server that i was using for lancache. however all of this is not at home yet.

The Compose

This little project intoduced me to docker compose. I dont exactly remember when but its around this timeline. After I tested around thats its working I got excited with the project. It was amazing! I looked for a way to securly connect to it from home. And stumbled on tailscale, I installed it on the server. So now I got a tunnel I could connect to it from home! I was excited. I shared it with my family! Installed tailscale and jellyfin TV Client on all TVs. its great! but It was still just a little project. proof of concept that it works how I orchestrated it. I slowly began to get addicted to this. I could command a machine to do exactly what I want when I want automatically.

The Orchestra

Hardware

After that I was using it as is. tailscale and client. I myself wasnt using it much at first. I noticed my wife and my little brother was using it almost daily! I thought 💡 “Hey, why dont I just do the whole thing here locally?” At that point I didn’t even knew “Homelab” was an actual term. So I did. But first! we need hardware dont we.

I had an old desktop pc it was missing some components. I know that on of my friends got me covered he is PC componenets hoarder big time. I gave him a call he was happy to get rid of it. everytime I needed sata cable or whatever I would give him a call first see if its available in his store 🤣. Extra points for beign a neighbour as well.

Software

Okay, I got my hardware now. Its mix and match from old parts:

  • Ram 8GB Currenlty (16GB)
  • AMD Ryzen 7 1800X (16) @ 3.600GHz
  • And some old GTX 280 Nvidia I think Currently (NVIDIA GeForce GTX 1080 Ti)

Great! lets get that ubuntu server on it! This is where I was starting to get comfortable with docker compose. Not so comfortable just getting started. I began on getting the stack passing the volumes here and there. Slowly and surely getting how things works. Its not a straight line from here to where I am now.

Finally the stack is working locally! To the users who are just 2 now. nothing much changed. except they dont need to run tailscale now!

🐪
  - Jellyfin       : The media server
  - Jellyseer      : Requesting new media
  - Sonarr         : Series tracker
  - Radarr         : Movies tracker
  - Transmission   : Download client
  - Jackett        : Proxy server

Fast forward configuring Caddy and sharing these services with friends and family. Currently around 60 users ☃️

And this is where I started my real journy into Dockers, Containers, Homelab, Selfhosting as Hobby and eventually Devops, Kubernetes, and CI/CD.

we will get into all of that in another blog post since this is getting long 🥱 for now if you are intersted you can see some of my CI/CD 👇🏼

Git with CI/CD Repos
Github