Blog post restored
This commit is contained in:
parent
daf097b0ce
commit
23d11c6751
4 changed files with 116 additions and 5 deletions
File diff suppressed because one or more lines are too long
|
@ -86,6 +86,8 @@
|
|||
padding: 5px 10px;
|
||||
z-index: 2;
|
||||
font-size: 0.85em;
|
||||
min-width: 40px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.filename {
|
||||
|
@ -99,21 +101,28 @@
|
|||
top: -15px;
|
||||
z-index: 1;
|
||||
}
|
||||
.code-container {
|
||||
position: relative;
|
||||
overflow-x: auto;
|
||||
}
|
||||
.copy-button {
|
||||
position: absolute;
|
||||
right: 40px;
|
||||
top: -15px;
|
||||
right: 10px;
|
||||
top: 25px;
|
||||
background: var(--color--code-background);
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 10px;
|
||||
border-radius: 6px;
|
||||
padding: 5px 8px;
|
||||
font-size: 0.8rem;
|
||||
cursor: pointer;
|
||||
transition: background 0.2s ease;
|
||||
transition: all 0.2s ease;
|
||||
opacity: 0.7;
|
||||
z-index: 1;
|
||||
|
||||
&:hover {
|
||||
background: var(--color--primary-shade);
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
import Header from '$lib/components/organisms/Header.svelte';
|
||||
import Footer from '$lib/components/organisms/Footer.svelte';
|
||||
import Tag from '$lib/components/atoms/Tag.svelte';
|
||||
import Crest from '$lib/components/atoms/Crest.svelte';
|
||||
import dateformat from 'dateformat';
|
||||
|
||||
import { keywords, siteBaseUrl, title } from '$lib/data/meta';
|
||||
|
@ -78,6 +79,10 @@
|
|||
</div>
|
||||
</article>
|
||||
|
||||
<div class="crest-wrapper">
|
||||
<Crest x="256" y="256" s="3" />
|
||||
</div>
|
||||
|
||||
{#if post.relatedPosts && post.relatedPosts.length > 0}
|
||||
<div class="container">
|
||||
<RelatedPosts posts={post.relatedPosts} />
|
||||
|
@ -96,6 +101,14 @@
|
|||
background-color: var(--color--post-page-background);
|
||||
}
|
||||
|
||||
.crest-wrapper {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin: 10px auto;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#article-content {
|
||||
--main-column-width: 65ch;
|
||||
position: relative;
|
||||
|
|
88
src/routes/(blog-article)/kub-1/+page.md
Normal file
88
src/routes/(blog-article)/kub-1/+page.md
Normal file
|
@ -0,0 +1,88 @@
|
|||
---
|
||||
slug: kub-1
|
||||
title: 'My Journey to Kubernetes land #1'
|
||||
description: From a single Docker container to a full homelab setup - this is how it all started.
|
||||
date: '2025-01-08'
|
||||
coverImage: /images/posts/kube.jpeg
|
||||
tags: ['homelab', 'kubernetes', 'media server']
|
||||
---
|
||||
|
||||
<!-- ---
|
||||
slug: launching
|
||||
title: Houston Houston!
|
||||
date: 2024-12-10T22:13:25.350Z
|
||||
excerpt: Apollo
|
||||
coverImage: /images/posts/launching.jpeg
|
||||
tags:
|
||||
- launch
|
||||
--- -->
|
||||
|
||||
<script>
|
||||
import CodeBlock from "$lib/components/molecules/CodeBlock.svelte";
|
||||
</script>
|
||||
|
||||
# The Kubernetes 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".
|
||||
|
||||

|
||||
|
||||
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!
|
||||
|
||||
<CodeBlock lang="yaml">
|
||||
|
||||
```yaml
|
||||
- Jellyfin : The media server
|
||||
- Jellyseer : Requesting new media
|
||||
- Sonarr : Series tracker
|
||||
- Radarr : Movies tracker
|
||||
- Transmission : Download client
|
||||
- Jackett : Proxy server
|
||||
```
|
||||
</CodeBlock>
|
||||
|
||||
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](https://git.askar.tv/nomad)
|
||||
[Github](https://github.com/nomadics9)
|
Loading…
Reference in a new issue