user@homelab:~/docs$ cat hardware.md
Hardware
The node, its disks, and the constraints that shaped the design
# contents
Node
| Component | Value |
|---|---|
| Model | Lenovo G50-80 |
| CPU | Intel Core i7-5500U (5th gen, 2 cores / 4 threads, VT-x) |
| RAM | 8 GB |
| Firmware | InsydeH2O UEFI, entered via the Novo button |
| Wi-Fi | Intel Dual Band Wireless-AC 3160 (wlp3s0) |
| Ethernet | Realtek RTL8111/8168 (enp2s0) |
Novo is the pinhole on the left side next to the power connector. Pressing it while the laptop is off opens a menu with Normal Startup, BIOS Setup, Boot Menu and System Recovery.
Storage
| Device | Size | Role |
|---|---|---|
| Kingston SA400 (SSD) | 447 GB | system disk: Windows 11 + Ubuntu Server |
| Seagate ST1000LM014 (SSHD) | 931 GB | reserved for data: persistent volumes, backups |
| WDC WD5000 (external USB) | 465 GB | Ventoy installation media |
Constraints
| Constraint | Consequence |
|---|---|
| 8 GB RAM | no hypervisor layer; k3s runs directly on the host; memory limits on every pod |
| single machine | single node, no HA; Git + backups are the recovery path |
| Wi-Fi only, behind double NAT | no inbound ports; public traffic via Cloudflare Tunnel, admin via Tailscale |
| laptop hardware | lid switch ignored, battery charge capped at ~60 % |
The reasoning behind each choice is recorded in Architecture decisions.
Alternatives considered
| Option | Verdict |
|---|---|
| WSL2 + kind on Windows | rejected: Windows consumes most of the RAM, not suitable for 24/7 |
| VM on Windows | rejected: double overhead (Windows + hypervisor) |
| Ubuntu Server + k3s on bare metal | chosen: all RAM for workloads, stable IP, 24/7 |
| Raspberry Pi 5 (8 GB) | deferred: ~CZK 6,500–8,000 for a complete setup, comparable performance |