I'm going to try and do a yearly blog post detailing what I'm running at the end of each year.

This year had some pretty interesting additions to the breadNET stack as well as some changes

  • Kubernetes
  • Bringing Matomo back home
  • More Zero Trust
  • DNS fully migrated to cloudflare
  • Shutdown a web server
  • Using Azure AD for authentication
  • Using GCP for cloud offerings

I am going to start this post off by managing your expectations, below is what we will cover

  • What services I'm running
  • What services I plan to run
  • What's the hardware
  • Why am I relying on the cloud more (and what services)
  • What this year cost me
  • What's the plan for next year

What services I'm running

I've really cut down quite a lot of services from a while ago where I was running like 10 services across multiple VM's on my Dell server.

Now I've kept it lean with just a few important services. This covers things up in the cloud as well as on prem

Service name Description Location
Passbolt Password manager cloud
pritunl Zero Passbolt's security cloud
Ghost This site, a blog cloud
Snipe-IT IT asset manager On prem (k8s)
Gatus Status page with yaml config k8s
Pihole Do you even self host bro? k8s
matomo Self hosted analytics k8s
mkdocs site Personal Documentation site for all things I need to document fly.io

What services I plan to run

Ideally I'd like to get the below up and running in 2024

  • Arr Stack: For downloading Linux ISO's
  • Jellyfin: Stream the ISO's to TV's
  • Grocy (again): Kitchen inventory system (Much to my partners displeasure)
  • Some form of web archive system: So when I link to something in my articles, it will never Dead link
  • Home inventory Softare: Ability to know what I own and then claim on insurance (adult stuff I know)
  • Book Inventory: So I can see how little I read
  • Hound: CodeSearch to search across multiple repos across multiple git hosting companies
  • Link Shorter: I would like to build my own (with my coding buddy chatGPT) that is K8's native and uses a custom resource definition I will learn
  • Monica: Personal CRM system allowing me to be a better friend
  • 2fauth: Allows you to manage 2FA codes in a web browser. Only supports sqlite (boo) but does support proxy username headers (woo)

My beef with sqlite is it's not really a database is it? It's a glorified text file, and it just breaks with nfs3, which means I need to figure out how to get nfsv4 working, and also I can't scale the containers well. If you don't like my take on this, you can send me an angry email

Options for the * inventory:

  • HomeBox: I dont want to use SQlite
  • Shelf: Looks promising, need to see if it has an android app for my scanner, also means I have to self host Supabase

Whats the hardware

For compute I have 3 Dell SFF PC's that run the K3s cluster

Name Ram CPU Storage
k3s-01 8gb Intel(R) Core(TM) i3-6100T CPU @ 3.20GHz 500 SSD
k3s-02 8gb Intel(R) Core(TM) i3-6100T CPU @ 3.20GHz 120 SSD
k3s-03 8gb Intel(R) Core(TM) i5-6500T CPU @ 2.50GHz 120 SSD

If you're wondering why there's a mismatch of CPU, It's because reading is not a strong suit of mine when it comes to Ebay

For what I call Persistence (Eg: Databases, Storing files etc) I have another Dell SFF PC, with 8GB of ram and an Intel(R) Core(TM) i5-6500T CPU @ 2.50GHz Processor. This also has around 120GB of storage on an SSD.

Why are you relying on the cloud

For some things I have to rely on the cloud. Let me explain

At the moment, all my DNS is managed on Cloudflare, who have a very nice simple to use Zero Trust system, which then very nicely integrates with Azure AD (I refuse to call it Entra) - I use Office 365 for my emails as I migrated off Postfix and Dovecot quite some time ago

As far as cloud dependency goes, I'm not using too much

Digital ocean still hosts my Web server (This site), and Passbolt server (Until I migrate this to my home) and GCP is being used for it's Artifact Registry storage as I store helm charts as OCI objects which is then consumed by flux

If you're interested about running k3s at home, then:

Kubernetes at home
Ever wondered what it’s like running kubernetes at home? This post tries to answer that

The end end end (yes I meant to type that 3 times) goal would be to colocate a server somewhere in the UK, and run all my services off that opposed to at home where it's susceptible to power cuts and terrible UK non symmetrical internet.

What this year cost me

This year was a year of investment so the upfront costs (capex) are higher than the Operational Costs (opex)

All costs are in GBP (Great Brexit Pounds), and table assumes one year cost

Item name Cost Cost Type Running total
Digital ocean 3 droplets for 11 months 171.56 Operational 171.56
Digital ocean 2 droplets for 1 month 13.40 Operational 184.96
Domain renewal 14.79 Operational 199.75
Wasabi Cloud Storage 52.86 Operational 252.61
Google Cloud 0.12 Operational 252.73
New SFF PC's 277.98 Capital Expenditure 530.71
New router 83.00 Capital Expenditure 613.71
Electricity 97 Operational 710.71
Office 365 Account 47.52 Operational 758.23

All in all, this years home labbing cost me £758.23 ($964, €874.01) which could have bought me 3.45 Litres of blood or 141 ham subways

If you'd like to have £1000, start with £2000 and get a home lab

What's the plan for next year

Without sounding like I use AI to write this (I didn't, which is why it reads so badly), 2024 will be a good year for the home lab.

I plan to migrate another server off of Digital ocean which will save me £67.92 a year (Current price of a droplet at 6 usd +20% tax converted to brexit pounds)

This £70 will probably get eaten up by my partner in the form of food, if I'm being honest.

As always a home lab is meant to be fun and a space to play, but my home lab has turned more in to a home production lab, where we still have the gung-ho of a lab, but with more on the line.

As the lab expands and I move up the country in search of cheaper rent, I plan to custom build a rack for the computers, and get a UPS so they can remain up when I inevitably trip over a power cable, or the power goes out.

Here's to 2023, and the future