Skip to content

Overview

Homelab

my home infrastructure and Kubernetes cluster

Built with nix K3S Version Woodpecker CI Renovate

💻 Hardware

Device Count RAM Disks OS Arch Purpose
Synology DS216j 1 512 MB WD Red Nas 4TB (x2) DSM 7 armv7 NFS + NAS
Raspberry Pi 1B 1 512 MB SD 32GB DietPi armv6 DNS (PiHole)
Raspberry Pi 3B 5 1 GB SD 32GB DietPi armv8 Kubernetes

📂 Repository structure

The Git repository contains the following directories:

📁 ansible     # Ansible playbooks / roles to setup all the infrastructure
📁 archive     # unused / old applications
📁 kubernetes  # Kubernetes cluster defined as code
├─📁 apps      # Apps deployed into the cluster grouped by namespace
└─📁 bootstrap # not used yet

Playbooks

dietpi-gen playbook

Bootstrap a DietPi image with dietpi.txt file to run an unattended base installion.

dietpi-upgrade playbook

Upgrade DietPi systems using apt and dietpi upgrader.

(Disabled) Upgrade DSM python installatio in Synology.

k3s-bootstrap playbook

Configure and setup k3s cluster nodes.

  • Secure OpenSSH server
  • Enable cgroup support
  • Enable containerd (docker)
  • Enable nfs support

k3s-install playbook

Install or upgrade k3s cluster deployment using xanmanning/k3s.

k3s-nuke playbook

Remove k3s cluster deployment using xanmanning/k3s.

pihole playbook

Setup everything to run PiHole using docker-compose.

entware-install playbook

Install and configure Entware for Synology DSM following this instructions.

Credits