Hello world, I’m Thariq 👋

Experienced software engineer with a passion for solving problems and breaking stuffs. My blog explores real-world tech challenges I faced and hobby projects I worked on.

Securing K3s With Lets Encrypt

🔐 TLS Certificates for Homelab Using Cloudflare + Cert-Manager + Let’s Encrypt With Traefik operational as the ingress controller in a K3s cluster, the next logical step is to provision HTTPS automatically using Let’s Encrypt certificates, Cloudflare DNS validation, and Cert-Manager. This ensures encrypted traffic across services in a self-hosted homelab. ☁️ Prerequisites A domain managed by Cloudflare An API token with DNS edit permissions Traefik installed and configured as the ingress controller A functional K3s cluster with outbound internet access 🔧 Step 1: Install Cert-Manager Install cert-manager using Helm ...

May 14, 2025 · 3 min · 485 words · Thariq Shah

Building a Homelab with K3s

🚀 Self-Hosting with K3s and Traefik Set up a lightweight Kubernetes cluster using K3s on a Raspberry Pi, deploy Traefik via Helm, and prepare for self-hosted services with ingress routing and local TLS. 🧰 Prerequisites A Linux host with root access (e.g., Raspberry Pi or any ARM64/x86_64 board) kubectl installed on a client machine Helm 3 installed on the cluster (https://helm.sh/docs/intro/install/) ⚙️ Install K3s without Traefik Skip the bundled Traefik and gain full control by managing ingress via Helm ...

May 13, 2025 · 3 min · 569 words · Thariq Shah

Running Valheim Server on FriendlyELEC CM3588

🚀 Running the Valheim Server Using Docker Compose The Docker Compose configuration we used to deploy a Valheim server on the FriendlyELEC CM3588 board/Arm SBC version: "3" services: raspiheim: image: arokan/raspiheim:latest container_name: raspiheim environment: - SERVER_NAME=Raspiheim - SERVER_PASS=Raspipass - WORLD_NAME=Raspiworld - PUBLIC=disabled - CROSSPLAY=disabled - UPDATE=enabled - SAVE_INTERVAL=1800 - BOX86=default - BOX64=default - NO_BUILD_COST=disabled - PLAYER_EVENTS=disabled - PASSIVE_MOBS=disabled - NO_MAP=disabled ports: - "2456:2456/udp" - "2457:2457/udp" volumes: - "/path/to/valheim/data:/data" - "/path/to/valheim/server:/valheim" restart: unless-stopped 💡 Note: Replace /path/to/valheim/data and /path/to/valheim/server with actual absolute paths. ...

May 4, 2025 · 2 min · 245 words · Thariq Shah

From Need to Solution: Home server

What is a Home Server? Let’s start with the basics: what exactly is “the cloud”? It’s just someone else’s computer sitting in a data center somewhere—likely in a different country or even a different continent—managed by your friendly neighborhood cloud vendor (think Google, Amazon, Apple… you get the idea). Now, about servers. The word “server” might sound intimidating, but it’s really just a computer that’s designed and dedicated to doing a specific job. And yes, your smartphone can technically be a server. Heck, if you’re really feeling adventurous, you could even turn your toaster into one (please don’t try this at home, though). ...

September 1, 2024 · 4 min · 642 words · Thariq Shah

CRUD Application with Spring boot 3.3 and GraalVM native Image

Prerequisites Docker Java 21 Clone inventory-service Introduction This article is the second part of Low memory footprint with Spring boot 3.3 and Graalvm native image. Here, we will be building REST CRUD resources and package as a native executable within a container. We are using flyway for database versioning and springdoc library for swagger documentation with a web UI. Flyway Flyway is a database migration tool that helps you manage and apply database changes within your application to achieve database environment parity. ...

August 18, 2024 · 3 min · 492 words · Thariq Shah

Low memory footprint with Spring boot 3.3 and Graalvm native image

What is a Native Image? GraalVM native image is an ahead-of-time compilation technology that generates native executables. Native executables have low resource usage and fast startup time in compact packaging. It is an ideal candidate for serverless workloads in Java. I use it to create hobby projects, so I don’t exhaust my free tier quotas on services like fly.io 😉 GraalVM Native Image is a broad topic with many resources and videos available for a deeper understanding. The Official documentation is a great place to start. ...

August 18, 2024 · 3 min · 427 words · Thariq Shah