user@homelab — ssh — 120×40

user@homelab:~$ ./session-report --all

[✓] 2026-10-27 · 4h 25m (19:20 → 23:45) · NTB → Ubuntu + k3s

[✓] 2026-10-28 · ~1h (00:05 → 00:35, 13:05 → 13:25) · docs web + Cloudflare Tunnel

$ kubectl get homelab -o wide

NAMESTATUSDETAIL
ntb-revivalDonedruhý život pro starý NTB ze šuplíku: čistá reinstalace z USB boot disku (Ventoy)
windows-11Readyaktivní, 146 GB, čas v UTC
ubuntu-26.04.1Ready/ 300 GB ext4 na sda5
grubReadymenu: Ubuntu / Windows
networkReadyWi-Fi, pevná IP přes DHCP rezervaci
sshdRunningjen klíč, port 22, heslo + root zakázané
ssh-macRunningssh homelab
ssh-ipadRunningTermius, vlastní ED25519 klíč
ufwActive22, 6443, 80, 443 + sítě k3s
server-modeReadyvíko ignorováno, swap off, baterie 60 %
maintenanceActiveunattended-upgrades, chrony, Europe/Prague
k3sRunningv1.35.9+k3s1, alias k, completion
nginx-testPassedDeployment + Service + Ingress (Traefik)
kubectl-macReadyalias kh, ostatní kubeconfigy nedotčené
troubleshootFixedVentoy grub2 mode, sgdisk oddíl, rfkill Wi-Fi, proxy na Macu
docs-siteRunningHugo → nginx (non-root) → k3s, rolling update přes deploy.sh
cloudflaredHealthyCloudflare Tunnel, 4 spojení (Praha + Vídeň), žádné otevřené porty
public-siteOnlinehttps://svejklab.dev (HTTPS od Cloudflare)
sanitizeDoneveřejný obsah bez IP adres, uživatele a topologie sítě
rpi-evalSkippedRaspberry Pi 5 zatím ne: drahá RAM, výkon jako NTB

$ kubectl get jobs -n backlog

NAMESTATUSTASK
monitoringPendingPrometheus + Grafana
mcp-serverPendingvlastní MCP server + Tailscale
gitopsPendingmanifesty do gitu + zálohy k3s
certificationPendingCKAD → CKA

$ logout # homelab běží dál

O co jde

Starý notebook ze základky, který roky ležel v šuplíku, dostal druhý život jako Kubernetes homelab. Běží na něm Ubuntu Server s k3s a slouží jako cvičiště na certifikace CKAD a CKA. Později na něm poběží monitoring a vlastní MCP server.

Tenhle web je zápisník: co jsme udělali, proč a přesně jakými příkazy. Každý blok kódu má tlačítko copy a u každého je napsané, kde se příkaz spouští:

  • @ server znamená na notebooku s Ubuntu, nejčastěji přes ssh homelab,
  • @ mac znamená v Terminálu na MacBooku,
  • @ windows znamená ve Windows, v PowerShellu nebo příkazovém řádku jako správce,
  • @ instalátor znamená v shellu instalátoru Ubuntu.

$ ls docs/

  1. 01 Hardware a rozhodnutí Co je to za stroj, jaké disky má a proč běží k3s přímo na železe
  2. 02 Bootovací disk (Ventoy) Jeden USB disk, víc instalačních ISO a obejití požadavků Windows 11
  3. 03 Windows 11 BIOS, rozdělení disku, lokální účet a příprava na dual boot
  4. 04 Instalace Ubuntu Serveru Ubuntu Server 26.04.1 vedle Windows, dvě překážky v instalátoru a jejich řešení
  5. 05 Dual boot a GRUB Jak notebook bootuje a jak se dostat do Windows
  6. 06 Síť a Wi-Fi Zablokovaná Wi-Fi (rfkill), netplan a pevná IP adresa přes DHCP rezervaci
  7. 07 SSH: Mac a iPad Přihlášení klíčem, zkratka ssh homelab, Klíčenka a vypnutí hesel
  8. 08 Hardening a režim serveru Aktualizace, čas, firewall, zavřené víko, swap a ochrana baterie
  9. 09 k3s (Kubernetes) Instalace k3s v1.35, kubectl bez sudo, alias k a první aplikace přes Ingress
  10. 10 Klienti: kubectl na Macu Ovládání homelabu z Macu bez zásahu do ostatních kubeconfigů
  11. 11 Troubleshooting Všechny chyby z první session: příznak, příčina a řešení na jednom místě
  12. 12 Backlog Co je na řadě: monitoring, MCP server, GitOps a certifikace
  13. 13 Tento web Jak se web sestavuje z Markdownu a nasazuje do k3s, a jak ho případně zpřístupnit z internetu
  14. 14 Veřejný web (Cloudflare Tunnel) Vyčištění obsahu, výběr domény, tunel z clusteru do Cloudflare a svejklab.dev online