मेरी होमलैब सेटअप यात्रा
(bryananthonio.com)- 2018 में असेंबल किए गए gaming PC को home server में बदलकर data storage, backup और self-hosting apps चलाने का वातावरण बनाने का अनुभव साझा किया गया है
- TrueNAS Community Edition इंस्टॉल करके 8TB HDD के 2 ड्राइव्स को RAID 1 में कॉन्फ़िगर किया गया, ताकि डेटा की प्रतिलिपि बनी रहे
- Immich, Backrest, Scrutiny, Mealie, Ollama जैसे open source self-hosting apps का उपयोग करके photo management, backup, drive monitoring, recipe management और LLM चलाने तक का सेटअप बनाया गया
- बाहरी access के लिए Tailscale VPN का उपयोग किया गया है, और आगे custom domain सेटअप के जरिए service accessibility बेहतर करने की योजना है
हार्डवेयर कॉन्फ़िगरेशन
- 2018 में असेंबल किए गए gaming PC को उसी रूप में फिर से उपयोग किया गया
- CPU: AMD Ryzen 5 2600X (6-core 3.6GHz)
- मेनबोर्ड: ASRock B450 Pro4 ATX AM4
- RAM: G.Skill Flare X 16GB DDR4-3200 (2x8GB)
- GPU: EVGA GeForce GTX 1070 Ti 8GB
- केस: Fractal Design Meshify C
- PSU: SeaSonic PRIME Gold 650W
- स्टोरेज कॉन्फ़िगरेशन
- HDD: Western Digital Red Plus 8TB के 2 ड्राइव्स (सर्दियों की छुट्टियों में खरीदे गए)
- SSD: Samsung 850 Evo 500GB (उन self-hosting apps के लिए जिन्हें तेज read/write चाहिए)
- NVMe: Western Digital Blue SN550 500GB (TrueNAS OS इंस्टॉल करने के लिए)
TrueNAS ऑपरेटिंग सिस्टम
- NVMe ड्राइव पर TrueNAS Community Edition (version 25.10.1, Goldeye) इंस्टॉल किया गया
- यह Linux-आधारित NAS-केंद्रित operating system है, जिससे नेटवर्क पर मौजूद सभी devices file storage तक पहुंच सकते हैं
- snapshot feature उपलब्ध है, जिससे data loss से बचाव किया जा सकता है
- अगर कोई file गलती से delete हो जाए, तो उस file को शामिल करने वाले पुराने snapshot से उसे restore किया जा सकता है
- कोई file वास्तव में तभी delete मानी जाएगी जब उसे शामिल करने वाला एक भी snapshot system में न बचा हो
- hourly, daily और weekly snapshots अपने-आप बनाए जाते हैं, और एक निश्चित अवधि के बाद पुराने snapshots अपने-आप delete कर दिए जाते हैं ताकि storage space बच सके
- 8TB HDD के 2 ड्राइव्स को RAID 1 (mirroring) में कॉन्फ़िगर किया गया है, ताकि एक drive खराब हो जाने पर भी data सुरक्षित रहे
Self-hosting apps
-
Scrutiny
- storage drives की स्थिति मॉनिटर करने वाला web dashboard
- HDD और SSD में मौजूद S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) firmware द्वारा एकत्र किए गए metrics जैसे temperature, uptime और read errors को पढ़कर visualize करता है
- dashboard पर historical trends दिखाकर drive failure की शुरुआती पहचान संभव बनाता है
-
Backrest
- restic (command-line backup tool) का web frontend
- Backblaze B2 object storage bucket में daily backups अपने-आप सेव होने के लिए कॉन्फ़िगर किया गया
-
Immich
- photos और videos मैनेज करने के लिए सबसे लोकप्रिय open source self-hosting apps में से एक
- iOS/Android app के जरिए mobile devices की photos और videos का automatic backup सपोर्ट करता है
- Google Photos या iCloud पर निर्भरता कम करनी हो तो यह अच्छा विकल्प है, और अभी फोन की photos और videos backup करने के लिए उपयोग में है
-
Mealie
- recipe management tool जिसने meal prep का अनुभव काफी बेहतर किया
- NYT Cooking जैसी साइटों से मिली recipes के लिए सिर्फ URL डालने पर ingredients और cooking instructions को अपने-आप scrape करके library में सेव कर देता है
- बाद में आज़माने वाली online recipes को आसानी से track और manage किया जा सकता है
-
Ollama
- अलग-अलग AI models चलाने के लिए backend
qwen3.5:4b,gemma3:4bजैसे LLMs औरqwen3-embedding:4bजैसे vector embedding models चलाता है- सभी models इतने छोटे हैं कि GPU की 8GB VRAM में फिट हो जाते हैं
- इससे laptop की जगह homelab पर model inference का काम offload किया जा सकता है
Remote access
- बाहर से Tailscale (plug-and-play VPN service) का उपयोग करके data और self-hosting apps तक remote access किया जाता है
- Tailscale, WireGuard के ऊपर बनाया गया है और home network तक एक secure tunnel देता है
- homelab PC को public internet पर expose करने की जरूरत नहीं पड़ती
- जिन सभी devices से remote access चाहिए, उन पर Tailscale app इंस्टॉल करके network authentication करना होता है
आगे की योजना
- अभी apps तक पहुंचने के लिए machine का IP address + port number सीधे दर्ज करना पड़ता है
- क्योंकि सभी services एक ही IP शेयर करती हैं, password manager हर service के login details अलग-अलग पहचान नहीं पाता
- आगे सभी services को custom domain name देने की योजना है, ताकि accessibility और management efficiency बेहतर हो सके
5 टिप्पणियां
POGO, BeagleBone Black, Lenovo mini PC आदि का इस्तेमाल करते हुए आगे बढ़ा, और परसों से पिछले साल से N100 पर स्थिर हो गया हूँ। बिजली के बिल को ध्यान में रखें तो GPU को छोड़कर बाकी कामों के लिए यह एकदम उपयुक्त है।
अगर इन्होंने अपने होमलैब में सच में इतना सब सेटअप किया है, तो बिजली का बिल डरावना होगा, है न?
भले ही यह एक gaming PC हो, लेकिन इसे लगातार full load पर नहीं चलाया जाएगा, इसलिए बिजली के बिल की चिंता बहुत ज़्यादा नहीं होगी।
2600X में idle पर भी 30W लगता है, और GPU भी शायद लगभग 10W लेगा, इसलिए low-power CPU से सेट किए गए homelab की तुलना में यह काफ़ी ज़्यादा निकलता है.
सिर्फ CPU+GPU को देखें तो N100 में 3~4 hard drives जोड़ने पर जो idle power होती है, उसके काफ़ी करीब होगा.
Hacker News की राय
मेरी सभी services एक ही IP साझा करती हैं, इसलिए password manager को यह समझने में दिक्कत होती है कि किस login info का इस्तेमाल करना है
Bitwarden में matching algorithm बदला जा सकता है, इसलिए default की जगह “starts with” सेट करने पर गलत item matching से बचा जा सकता है
लेकिन यह setting बदलने पर “हो सकता है यह इच्छित न हो” जैसी warning आती है, जो थोड़ा परेशान करती है
homelab environment में dnsmasq से wildcard DNS आसानी से बनाया जा सकता है, और router को सीधे manage किए बिना भी hosts file से काम चल जाता है
mdns भी इसी वजह से इस्तेमाल किया जा सकता है, लेकिन उसका setup थोड़ा ज़्यादा जटिल है
इसमें Tailscale जोड़ देने से बाहर रहते हुए भी ad blocking काम करती है, और घर से बाहर से भी अपनी services access की जा सकती हैं
आखिर में NGINX reverse proxy भी जोड़ा, लेकिन सच कहें तो उसके बिना भी सब ठीक से चलता है
हर service
<service>.<yourdomain>.<tld>के रूप में अलग हो जाती है, और HTTPS भी मुफ्त मिलता हैTailscale के बिना remote access संभव है, और Cloudflare Access जोड़ने पर Google या Github authentication भी किया जा सकता है
मैं भी लगभग ऐसा ही setup इस्तेमाल कर रहा हूँ
workstation के तौर पर भी इस्तेमाल होना है, इसलिए specs थोड़े ऊँचे हैं
nginx + letsencrypt wildcard से कई subdomain चला रहा हूँ, और tailscale की जगह wireguard से परिवार के बीच network जोड़ा है
Jellyfin से movie/TV stream करता हूँ, और Mopidy + snapcast से music कई speakers पर भेजता हूँ
Ubuntu + ZFS mirroring से NAS बनाया है, और Home Assistant से automation control करता हूँ
Frigate से security cameras manage करता हूँ, और Forgejo से private repository चलाता हूँ
SDR से aircraft tracking भी करता हूँ, और घर के सारे IoT devices पूरी तरह local control में हैं
अलग server-only hardware रखना कहीं बेहतर है, ऐसी सलाह दी गई
मैं अब भी FreeBSD-आधारित TrueNAS इस्तेमाल कर रहा हूँ
नया version Linux पर चला गया, यह अफ़सोस की बात है, लेकिन दूसरों के लिए शायद बेहतर विकल्प हो सकता है
मेरे मामले में NAS, virtualization और routing को अलग-अलग hardware पर बाँटा गया है
नया TrueNAS पहले से धीमा लगा, लेकिन Docker-style app management आसान है, इसलिए beginners या छोटे business के लिए अच्छा हो सकता है
मेरा मानना है कि infrastructure बनाते जाने से नए प्रयोग करने की marginal cost कम होती जाती है, इसलिए ऐसे सारे प्रयोग मूल्यवान हैं
ज़्यादातर मामलों में Linux + NFS या SMB काफ़ी है
अनावश्यक layers कम कर दिए जाएँ तो system कहीं ज़्यादा stable चलता है
क्योंकि weekend पर अगर family का internet या movies बंद हो जाएँ तो शिकायतें बहुत होती हैं
Mac Mini server के रूप में इस्तेमाल करने के लिए power efficiency के हिसाब से अच्छा है, इसलिए उसे छोड़ना खलता है
TrueNAS Core vs Scale comparison post साझा की गई
बाद में NAS और computing server को अलग करने की योजना है
लेखक ने Restic + Backblaze B2 इस्तेमाल किया, लेकिन मैं Restic + BorgBase का संयोजन पसंद करता हूँ
BorgBase का फायदा इसका simple pricing और अच्छी service है,
और उसी कंपनी का Pikapods भी homelab users के लिए दिलचस्प है
1TB के लिए $5 प्रति माह होने से यह सस्ता पड़ता है
ज़्यादातर लोग cloud backup की ही बात करते हैं, लेकिन मैं दोस्त के घर backup server रखने के तरीके पर विचार कर रहा हूँ
hardware सस्ता है, software open है, और privacy मुश्किल है — यही वजह है
Wireguard या Tailscale की वजह से इस तरह का offsite backup अब आसान हो गया है
क्या किसी ने इस तरह से कुछ किया है, यह जानने की जिज्ञासा है
आगे चलकर इसे दोस्त के घर तक भी इसी तरीके से बढ़ाने की योजना है
iCloud की जगह Immich से photos manage करता हूँ, और Tailscale की वजह से privacy assurance आसान हो जाती है
ZFS + zrepl से snapshot replication करता हूँ, और troubleshooting process को AI द्वारा व्यवस्थित किए गए लेख के रूप में साझा किया गया
शुरुआत में local backup लेने के बाद disk को खुद ले जाकर केवल incremental sync करता था
Syncthing के untrusted peer feature से दोस्त को storage space उधार देते हुए भी data encrypted रखा जा सकता है
homelab के लिए PC, सामान्य desktop की तुलना में power consumption बहुत कम रखता है
उदाहरण वाला desktop सालाना 600kWh लेता है, लेकिन मेरा HP EliteDesk लगभग 100kWh लेता है
अगर GPU की ज़रूरत नहीं है तो laptop भी काफ़ी है
पुराना gaming PC को TrueNAS या OMV के लिए इस्तेमाल करना अच्छा विकल्प है
HDD को USB की बजाय SATA से जोड़ना स्थिरता के लिए बेहतर है
मज़ाक में कहा गया कि AI datacenter demand की वजह से HDD की कीमतें अब भी ऊँची हैं
BIOS और powertop settings से power saving optimization किया जा सकता है
NAS OS के ऊपर दूसरी services चलाना उल्टी संरचना जैसा लगता है
इसके बजाय सामान्य server OS के ऊपर NAS functionality जोड़ना बेहतर लगता है
ज़्यादातर services bare metal पर चलती हैं, और Home Assistant या Nextcloud जैसी चीज़ों को container में isolate करता हूँ
मैं Talos Linux-आधारित Kubernetes cluster कई घरों में फैला कर बना रहा हूँ
Wireguard से उन्हें जोड़ा है, और हर zone में ZFS box रखकर snapshot replication करता हूँ
Traefik को gateway बनाया है, और CrunchyPGO से leader/follower अलग किए हैं
मैं xcp-ng पर VM के रूप में TrueNAS चला रहा हूँ
dedicated SAS controller को passthrough से जोड़ा है, पहले esxi इस्तेमाल करता था लेकिन अब सब कुछ xcp-ng पर ले आया हूँ
DNS के लिए bind9, और reverse proxy के लिए nginx सेट किया है
Dell OptiPlex Micro पर दूसरे VMs भी चला रहा हूँ
ज़्यादातर homelab में load बहुत भारी नहीं होता, इसलिए RAM capacity और power efficiency सबसे अहम हैं
4-core low-power machine काफ़ी है
AI computation लगभग नहीं के बराबर है, इसलिए desktop-class performance की ज़रूरत नहीं पड़ती