Mi-am dat seama anul trecut că aruncam prea mulți bani lunar pe abonamente de cloud care puteau fi ușor înlocuite. Între Google Drive pentru poze, un VPS mic pe DigitalOcean pentru teste și diverse alte servicii, se adunau destul de repede vreo 15-20 de euro lunar. Așa că am decis să îmi fac propriul homelab, un server silențios care să stea ascuns în debara.
Hardware-ul: De ce am ales un Mini PC și nu Raspberry Pi
Inițial m-am gândit la un Raspberry Pi 4 sau 5. Problema e că dacă aduni placa, o carcasă decentă, o sursă de alimentare stabilă și un SSD pe USB sau NVMe (pentru că cardurile SD crapă repede la scriere intensivă), ajungi lejer la 600-700 de lei. Și tot ai o arhitectură ARM care uneori îți dă bătăi de cap cu anumite imagini de Docker.
Am mers pe un Mini PC Beelink cu procesor Intel N100 (4 nuclee, generație modernă, consum infim), 16 GB RAM DDR5 și un SSD NVMe de 500 GB. M-a costat fix 920 de lei de pe Amazon. Consumă în jur de 7W în idle și vreo 15W în full load. La prețul curentului de azi, asta înseamnă sub 10 lei pe lună adăugați la factură. Performanța e de cel puțin 4-5 ori mai mare decât a unui Raspberry Pi, iar virtualizarea pe x86 e pur și simplu floare la ureche.
Stack-ul software și cum am rezolvat securitatea
Am vrut ceva simplu, mentenabil, pe care să nu pierd nopțile făcând debugging. Am instalat Ubuntu Server (fără interfață grafică) și rulez totul exclusiv în Docker Compose.
Marea mea problemă era accesul de la distanță. Nu am IP static acasă și nici nu voiam să deschid porturi în router sau să mă chinui cu reverse proxy-uri complexe și certificate SSL expuse public. Aici a intrat în scenă Tailscale.
Tailscale e o rețea mesh VPN bazată pe WireGuard. Instalezi clientul pe server, pe telefon și pe laptop. Dispozitivele tale comunică criptat, direct între ele, ca și cum ar fi în aceeași rețea locală, indiferent unde te afli. Zero porturi deschise în router, zero bătăi de cap cu securitatea. Pur și simplu funcționează.
Ce rulez efectiv pe el?
În momentul de față am vreo 12 containere active. Cele mai importante sunt:
- Nextcloud: Pentru backup-ul automat al pozelor de pe telefoanele mele și ale soției. Am scăpat definitiv de abonamentul Google One de 100 GB.
- Pi-hole: Îmi blochează reclamele și tracker-ele la nivel de DNS pentru toate dispozitivele din casă (inclusiv pe Smart TV).
- Uptime Kuma: Monitorizează site-urile clienților mei și îmi trimite notificare pe Telegram dacă pică ceva.
- Portainer: Pentru momentele când mi-e lene să intru prin SSH și vreau doar să dau un restart rapid la un container de pe telefon.
- Postgres și Redis: Instanțe de test pentru proiectele la care lucrez local.
Trade-off-ul sincer: Nu totul e roz
Setup-ul e genial, dar vine cu o responsabilitate uriașă: backup-ul. Dacă îți moare SSD-ul din Mini PC și nu ai backup extern, ai pierdut toate pozele de familie și datele importante.
Eu am rezolvat asta rulând un cron job zilnic care criptează datele importante din Nextcloud și le urcă în Backblaze B2. Mă costă cam 1.20 dolari pe lună pentru vreo 180 GB de date stocate acolo. Al doilea trade-off e că dacă pică netul de la Digi sau se ia curentul în bloc, serviciile mele sunt offline. Pentru mine e acceptabil, dar dacă ai nevoie de disponibilitate de 99.99%, homelab-ul nu e o soluție completă.
Voi ce folosiți pentru self-hosting? Ați mers pe varianta de Mini PC sau folosiți încă hardware mai vechi prin casă?