How I started my homelab (Homelab series #1)
How I started my homelab
Last year, I upgraded to a new Zen 5 based PC and so had an old but still quite powerful PC lying around. After some dabbling with LibreELEC I decided that maybe a 5600X is quite overpowered for simply being a TV box, and I thought about what to do with it.
Starting out
One of my coworkers that work in infrastructure had previously talked about homelabbing, and had showed me quite a few cool things he was selfhosting - some media server (i believe it was Immich?), Plex, a ton of vibe-coded apps, full self-hosted digitalization of all his documents using Paperless-ngx. Especially that last part was quite appealing to me as I was quite sick of having to deal with the everyday paperwork of being an adult without the power of modern computing tools, like search.
So I set out to install Paperless-ngx and get the analog parts of my life into the digital age.
I followed the installation guide, and voila, I had a working install of paperless-ngx working on my old system. Success! Being able to just huck a pdf into it, it automagically indexing it, and then being searchable - amazing.
Drawn in by my own desire for ease
One day I was like "hey why don't I just put receipts in there too? Then I can easly see what I spend in groceries." Big mistake.
What followed was a descent into learning that optical character recognition is a sport that has far more depth than you'd realize from the outside - try putting a simple cell phone pic of a receipt into OCR, and you'll realize just how much you've taken your ability to read slightly off-angle for granted.
After a short crisis about computing power I remembered that, in the year 2025, we have quite the fortunate situation in that we are able to access ginormous computing resources, combined with vision models that can do OCR, for basically nothing - they're called multi-modal LLMs.
So I thought - Hey, if these things can do that, why can't I just build something for paperless-ngx so the image contents gets analyzed by one of those powerful models, and put into words paperless-ngx can actually use?
Because I had no experience in anythign ML-related until then, I just chucked my idea into ChatGPT and tried some stuff. I got as far as implementing sending stuff to OpenAI before realizing that maybe, just maybe, I shouldn't send receipts of all the stuff I buy to OpenAI.
It worked though, and I wanted to see it work longer-term.
So I deployed it to my homelab and -- managed to delete all the current data by accidentially deleting the volume via a change in the docker compose file, and running docker compose down -v, expecting it to simply have verbose output.
Damnit.
To be continued