Building Poor-man Homelab to Learn AI and MLOps

Long Story.. Back then before COVID, I have some mining GPUs and servers. But, due to the ETH moving away from PoW to PoS, the profitability drastically reduced (minus in fact) and I decided to put down the servers. There are 4 servers with LGA1151 and all of them are DIY, there are also 8 GPUs: 1 x GTX 1080 Turbo 3 x P104-100 1 x GTX 1080 Ti 1 x RTX 3060 1 x RX 580 1 x RTX 2070 Super Recently I interested to learn about MLOps and also AI infra. I picked all of them and clean it from the thick dust and bit rusty (it feels like opening new garage with some legendary muscle cars in it 馃槀) and decided to tests them along with the servers. ...

September 24, 2025 路 6 min 路 1077 words 路 Me

NixOS Declarative Approach for Operating System Management

Arch Linux is my favourite distribution for long time. I can get the benefit of bleeding-edge and highly configurable system, yet still manageable with its lovely package management like pacman, AUR and additionally brew. I also use ansible / chef to manage the workstations / VMs for the sake of immutability. But, managing the playbooks takes time even for doing simple things. In distrowatch, there are page hit ranks and I already familiar with most of them in the list and I found NixOS there, which I haven鈥檛 used. I interested with the declarative configuration approach that NixOS offer to manage the system. Go straight to the documentation rightaway, and try it in VM. Aaaand.. I got overwhelmed at first with the nix language. 30 minutes learning the configurations, finally I can make the configuration usable and enjoying it more than Arch! The offered approach allows us to manage the workstations from zero just by utilizing the nix configurations, so we technically having an immutable system! ...

December 19, 2024 路 4 min 路 829 words 路 Me

Bulding Docker Image with Cloud Builder

Docker BuildKit has been there since couple years back and its become default builder to replace the legacy builder since Docker Desktop 23.0. I really like this BuildKit since its offers some helpful features. The one that I mostly feel help was the build cache which can possibly save some build time and also the data used to download the dependencies of your image. Recently, I just got to know about Docker Build Cloud which allows us to build our image with cloud builder. I got to know when I try to built some images and it takes long time to complete and decided to read the docs and found out there is Docker Build Cloud section. Docker Build Cloud is part of the buildx and available for personal use with usage up to 50 build minutes every month. With this, your build will be offloaded to the cloud instance as well as the cache, so no need to worry when your Internet is problematic or your machine is not strong enough to build the image. ...

September 23, 2024 路 3 min 路 567 words 路 Me

Ressurection of My Homelab

1.5 years living in Singapore makes me put down my homelab. Despite I already made the environment accessible as possible, apparently its still has lot of issues due to Indonesia ISP unstability and also electricity issues. Since now I currently in Indonesia, I was decided to wake them up again! The Born of the Undead I put my homelab in my working room, and since my house was empty and no one take care of it, then yaaa! Its fully covered by dusts. Unfortunately, several devices completely dead. I tried to turn on everything, zonk! I need to start from scratch again. Since I don鈥檛 want to spend too much time building it at once, I started to pick up one of the machine that I often used for hypervisor. My DeskMini X300 is still solid AsRock! I was using plain LibVirt in the past and manage everyting using terraform-libvirt which allows me to manage everything through pipeline. But, this time I try to do differently. ...

September 20, 2024 路 5 min 路 885 words 路 Me

Cache Terraform Provider Plugins

Overview Terraform required provider plugin to be able to work and communicate with the cloud providers. But, do you know that by default it will download and cache it in the current directory of the Terraform configs? This behaviour will be painful to your Internet quota since it will download same binary in every Terraform config directories. This post will give you information on how to set the plugin cache directory. So, if the provider version already downloaded, we can just pick it from the cache directory instead of redownload everytime. ...

February 27, 2024 路 2 min 路 272 words 路 Me