Homelab & Gitops, Infrastructure as Code (IaC) where possible. K8s cluster running on Talos and managed by Flux. Renovate keeps the repo up to date.
Find a file
homeops-bot[bot] 3d316eb513
fix(container): update immich group ( v2.7.4 → v2.7.5 ) (#6244)
| datasource | package                                    | from   | to     |
| ---------- | ------------------------------------------ | ------ | ------ |
| docker     | ghcr.io/immich-app/immich-machine-learning | v2.7.4 | v2.7.5 |
| docker     | ghcr.io/immich-app/immich-server           | v2.7.4 | v2.7.5 |

Co-authored-by: homeops-bot[bot] <104016614+homeops-bot[bot]@users.noreply.github.com>
2026-04-15 14:00:16 +02:00
.github fix(container): update immich group ( v2.7.4 → v2.7.5 ) (#6244) 2026-04-15 14:00:16 +02:00
.renovate fix: misc maintenance 2026-03-26 22:13:05 +01:00
.vscode feat: taskfile -> just + rework talos config gen 2025-12-25 23:20:09 +01:00
adguard feat: deploy adguard home 2026-03-26 22:12:36 +01:00
ansible feat: add usb watchdog to rpi running zwave stick 2026-04-09 23:19:05 +02:00
backups fix: update backup script 2026-02-08 15:28:44 +01:00
docker/rpi01 fix(container): update image ghcr.io/kimdre/doco-cd ( 0.80.0 → 0.80.1 ) (#6256) 2026-04-15 11:56:55 +02:00
docs feat: add some minor docs 2026-01-21 21:06:45 +01:00
kubernetes fix(container): update immich group ( v2.7.4 → v2.7.5 ) (#6244) 2026-04-15 14:00:16 +02:00
.gitattributes fix: update gitattributes 2025-02-20 22:02:32 +01:00
.gitignore fix: misc maintenance 2026-03-17 14:20:47 +01:00
.justfile feat(1pw-connect): Use upstream OCI chart 2026-04-09 23:21:18 +02:00
.markdownlint.yaml fix: later summer cleanup and reorganization of stuff 2025-08-28 21:01:21 +02:00
.minijinja.toml fix: later summer cleanup and reorganization of stuff 2025-08-28 21:01:21 +02:00
.prettierignore fix: later summer cleanup and reorganization of stuff 2025-08-28 21:01:21 +02:00
.prettierrc.yaml fix: later summer cleanup and reorganization of stuff 2025-08-28 21:01:21 +02:00
.renovaterc.json5 fix: misc maintenance 2026-03-26 22:13:05 +01:00
.sourceignore fix: later summer cleanup and reorganization of stuff 2025-08-28 21:01:21 +02:00
.yamllint.yaml fix: later summer cleanup and reorganization of stuff 2025-08-28 21:01:21 +02:00
Brewfile fix(brew): update deps 2026-04-09 23:21:33 +02:00
LICENSE Initial commit 2022-05-11 20:33:32 +02:00
README.md fix: update docs 2024-10-20 17:38:27 +02:00

🏡 🧪 Homelab + Gitops

Welcome to my repo where I maintain everything related to my homelab which adheres to Infrastructure as Code (IaC) and GitOps practices where possible. This allows me to have a single source of written truth for my homelab, declaring how and where I want it setup. I have a Kubernetes cluster that runs most of the services in my homelab but I also have a few services running as Docker containers on my NAS.

This allows me to:

  • Version control my changes, allowing easy rollback of breaking patches/tinkering/etc
  • Allow for easy reinstall/disaster recovery of a cluster.
  • Version control and declare hardware provisioning, ensuring repeatable and robust hardware configuration.
  • This can be achieved with tools like Ansible for those wanting to use a more standard OS & deployment.
  • With Talos and a few scripts that I have written, I can define and provision a cluster easily with as few manual steps as possible.
  • Renovate and a few scripts makes it easy to handle Talos and Kubernetes updates. Renovate will create pull requests when new updates are available. When the pull requests are merged to the main branch I only need to run a commands to upgrade the cluster.

🧪 Why a homelab?

My motivation for having a homelab is that it is a great way to learn and educate myself and pick up new skills that I might have use for in at my work.

Besides that I'm also running some services that are used daily by myself, family & friends.

Main features

These are what I consider the main features of my homelab. You can also see this list as an index to the documentation. If you want to set up your own cluster and use my repo as a guide I suggest that you read through the documentation in this order:

🤖 Automate all the things

Why do things manually when you can automate it? I try to automate as many aspects of my homelab as possible.

  • Talos is my OS of choice on all Kubernetes nodes.
  • Renovate keeps track of dependencies and creates a pull request when there is something to update.
  • I then merge those pull requests in to the main branch
  • Flux will then update the main cluster.
  • Tell Talos to automatically update and reboot Kubernetes nodes if needed by running one script.
  • Tell Talos to automatically update Kubernetes by running Task.
  • Services will automatically be updated (and restarted if needed).

I use Ansible to provision and configure other hardware in my homelab like my backup server and pikvm.

As a last resort I use Taskfile and write bash scripts to run repetitive tasks.

📓 Snippets & notes

Every now and then I run in to problems and I usually do one of two things when I fix them:

  • I either create a task using Taskfile so it's easy to do the same thing over and over again
  • Or I write down the solution. This is usually done when it's to complex to create a task for it.