- 2018'de topladığım oyun bilgisayarını bir ev sunucusuna dönüştürerek veri depolama, yedekleme ve self-hosted uygulama çalıştırma ortamı kurma deneyimimi paylaşıyorum
- TrueNAS Community Edition kurup, iki adet 8TB HDD'yi RAID 1 olarak yapılandırarak veri yedekliliği sağladım
- Immich, Backrest, Scrutiny, Mealie, Ollama gibi açık kaynak self-hosted uygulamalarla fotoğraf yönetimi, yedekleme, disk izleme, tarif yönetimi ve LLM çalıştırma gibi ihtiyaçları karşıladım
- Dışarıdan erişimi Tailscale VPN ile sağlıyorum; ileride özel alan adı ayarlarıyla servis erişilebilirliğini geliştirmeyi planlıyorum
Donanım yapılandırması
- 2018'de topladığım oyun bilgisayarını aynen yeniden kullandım
- CPU: AMD Ryzen 5 2600X (6 çekirdek 3.6GHz)
- Anakart: ASRock B450 Pro4 ATX AM4
- RAM: G.Skill Flare X 16GB DDR4-3200 (2x8GB)
- GPU: EVGA GeForce GTX 1070 Ti 8GB
- Kasa: Fractal Design Meshify C
- PSU: SeaSonic PRIME Gold 650W
- Depolama yapılandırması
- HDD: Western Digital Red Plus 8TB 2 adet (kış tatilinde satın alındı)
- SSD: Samsung 850 Evo 500GB (hızlı okuma/yazma gerektiren self-hosted uygulamalar için)
- NVMe: Western Digital Blue SN550 500GB (TrueNAS OS kurulumu için)
TrueNAS işletim sistemi
- NVMe sürücüye TrueNAS Community Edition (sürüm 25.10.1, Goldeye) kurdum
- Ağ üzerindeki tüm cihazların dosya deposuna erişebilmesini sağlayan, Linux tabanlı ve NAS'a özel bir işletim sistemi
- Veri kaybını önlemeye yardımcı olan snapshot özelliği sunuyor
- Bir dosyayı yanlışlıkla silseniz bile, o dosyayı içeren önceki bir snapshot'tan geri yükleyebilirsiniz
- Bir dosyanın gerçekten silinmiş sayılması için, o dosyayı içeren hiçbir snapshot'ın sistemde kalmamış olması gerekir
- Saatlik, günlük ve haftalık snapshot'ları otomatik oluşturup, belirli bir sürenin ardından eski snapshot'ları otomatik silerek depolama alanından tasarruf sağlıyor
- İki adet 8TB HDD'yi RAID 1 (mirroring) olarak yapılandırdım; böylece bir disk bozulsa bile veriler tamamen korunuyor
Self-hosted uygulamalar
-
Scrutiny
- Depolama sürücülerinin durumunu izleyen bir web paneli
- HDD ve SSD'lerde yerleşik S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) firmware'inin topladığı sıcaklık, çalışma süresi, okuma hataları gibi metrikleri okuyup görselleştiriyor
- Geçmiş eğilimleri panelde göstererek disk arızalarını erken tespit etmeyi mümkün kılıyor
-
Backrest
- restic'in (komut satırı yedekleme aracı) web arayüzü
- Günlük yedekleri Backblaze B2 object storage bucket'ına otomatik kaydedecek şekilde ayarladım
-
Immich
- Fotoğraf ve video yönetimi için en popüler açık kaynak self-hosted uygulamalardan biri
- iOS/Android uygulaması ile mobil cihazlardaki fotoğraf ve videoların otomatik yedeklenmesini destekliyor
- Google Photos veya iCloud'a bağımlılığı azaltmak isteyenler için uygun; ben de şu anda telefonumdaki fotoğraf ve videoları yedeklemek için kullanıyorum
-
Mealie
- Tarif yönetim aracı olarak meal prep deneyimimi ciddi şekilde iyileştirdi
- NYT Cooking gibi sitelerde bulduğum tariflerde yalnızca URL'yi girerek malzemeleri ve hazırlama adımlarını otomatik scrape edip kütüphaneye kaydediyor
- Daha sonra denemek istediğim çevrimiçi tarifleri kolayca takip edip yönetmemi sağlıyor
-
Ollama
- Farklı yapay zeka modellerini çalıştırmak için bir backend
qwen3.5:4b, gemma3:4b gibi LLM'leri ve qwen3-embedding:4b gibi vektör embedding modellerini çalıştırıyor
- Tüm modeller, GPU'nun 8GB VRAM kapasitesine sığacak kadar küçük
- Modelleri dizüstü bilgisayar yerine ev lab'ında çalıştırma işini offload edebilme avantajı sağlıyor
Uzaktan erişim
- Dışarıdayken verilerime ve self-hosted uygulamalara uzaktan erişmek için Tailscale (tak-çalıştır VPN hizmeti) kullanıyorum
- Tailscale, WireGuard üzerine kuruludur ve ev ağıma güvenli bir tünel sağlar
- Ev lab bilgisayarını genel internete açmam gerekmiyor
- Uzaktan erişmek istediğim tüm cihazlara Tailscale uygulamasını kurup ağ kimlik doğrulaması yapmam gerekiyor
Gelecek planları
- Şu anda uygulamalara erişirken makinenin IP adresi + port numarası kombinasyonunu doğrudan girmem gerekiyor
- Tüm servisler aynı IP'yi paylaştığı için şifre yöneticisinin her servisin giriş bilgisini ayırt edememesi gibi bir sorun var
- İleride tüm servislere özel alan adı vererek erişilebilirliği ve yönetim verimliliğini artırmayı planlıyorum
5 yorum
POGO, BeagleBone Black ve Lenovo mini PC gibi cihazlarla devam ettikten sonra, iki yıl önce N100’de karar kıldım. Elektrik faturasını da hesaba katınca, GPU dışındaki işlevler için biçilmiş kaftan.
Bu kişinin homelab’ında bu seviyeye kadar kurulum yaptıysa elektrik faturası korkutucu olurdu bence?
Gaming PC olsa bile sürekli tam yükte çalıştırılmayacağı için elektrik faturası konusunda çok büyük bir endişe olacağını sanmıyorum.
2600X boşta bile 30W civarı tüketiyor, GPU da muhtemelen 10W kadar çekeceği için düşük güç tüketimli bir CPU ile kurulan homelab’e göre epey yüksek kalıyor.
Sadece CPU+GPU baz alındığında, N100’e 3~4 disk eklenmiş bir sistemin boşta tüketimine yakın olur gibi görünüyor.
Hacker News yorumları
Tüm servislerim aynı IP'yi paylaştığı için parola yöneticisi hangi giriş bilgisini kullanması gerektiğini karıştırıyor
Bitwarden'da eşleştirme algoritmasını değiştirebildiğiniz için, varsayılan yerine “starts with” olarak ayarlarsanız yanlış öğe eşleştirmelerini önleyebilirsiniz
Ancak bu ayarı değiştirince “bu amaçlanan şey olmayabilir” uyarısı çıktığı için biraz can sıkıcı
Homelab ortamında dnsmasq ile kolayca wildcard DNS kurabilirsiniz ve yönlendiriciyi doğrudan yönetmeseniz bile hosts dosyası yeterli olabilir
mdns de aynı nedenle kullanılabilir ama yapılandırması biraz daha karmaşıktır
Buna Tailscale ekleyince dışarıdayken de reklam engelleme çalışıyor ve ev dışında da servislerime erişebiliyorum
Son olarak NGINX reverse proxy ekledim ama aslında onsuz da gayet iyi çalışıyor
Her servis
<service>.<yourdomain>.<tld>biçiminde ayrılıyor ve HTTPS de ücretsiz geliyorTailscale olmadan uzaktan erişim mümkün oluyor ve Cloudflare Access eklerseniz Google ya da Github kimlik doğrulaması da kullanılabiliyor
Ben de benzer bir kurulum kullanıyorum
İş istasyonu olarak da kullandığım için özellikleri biraz yüksek
nginx + letsencrypt wildcard ile birden çok subdomain çalıştırıyorum, tailscale yerine de aile içi ağı wireguard ile bağlıyorum
Jellyfin ile film/TV yayını yapıyor, Mopidy + snapcast ile müziği birden fazla hoparlöre iletiyorum
Ubuntu + ZFS mirroring ile NAS kurdum, Home Assistant ile otomasyon kontrol ediyorum
Frigate ile güvenlik kameralarını yönetiyor, Forgejo ile kişisel depoyu işletiyorum
SDR ile uçak takibi de yapıyor, evdeki tüm IoT cihazlarını tamamen yerelden kontrol ediyorum
Yalnızca sunucuya özel donanım ayırmanın çok daha iyi olduğunu tavsiye ediyor
Ben hâlâ FreeBSD tabanlı TrueNAS kullanıyorum
Yeni sürümün Linux'a geçmiş olması üzücü ama başkaları için daha iyi bir seçenek olabilir
Benim durumumda NAS, sanallaştırma ve yönlendirmeyi ayrı cihazlara böldüm
Yeni TrueNAS eskisine göre daha yavaştı ama Docker tarzı uygulama yönetimi kolay olduğu için yeni başlayanlar ya da küçük işletmeler için iyi görünüyor
Altyapı kurdukça yeni şeyler denemenin marjinal maliyetini düşüren bir yapı oluştuğundan bu deneylerin hepsinin değerli olduğunu düşünüyorum
Çoğu durumda Linux + NFS ya da SMB yeterli
Gereksiz katmanları azaltırsanız çok daha kararlı işletmek mümkün
Çünkü hafta sonunda internet ya da film çalışmadığında ailede memnuniyetsizlik büyük oluyor
Mac Mini'nin sunucu olarak güç verimliliği iyi olduğu için insanın aklı kalıyor
TrueNAS Core vs Scale karşılaştırma yazısını paylaşıyor
İleride NAS ile işlem sunucusunu ayırmayı planlıyor
Yazı sahibi Restic + Backblaze B2 kullanmış ama ben Restic + BorgBase kombinasyonunu tercih ediyorum
BorgBase basit fiyatlandırması ve iyi hizmetiyle öne çıkıyor,
aynı şirketin Pikapods hizmeti de homelab kullanıcıları için ilgi çekici
1TB için aylık 5 dolar ile daha ucuz
Çoğu kişi sadece bulut yedeklemeden bahsediyor ama ben arkadaş evine yedek sunucusu koyma yöntemini düşünüyorum
Çünkü donanım ucuz, yazılım açık ve mahremiyet zor
Wireguard ya da Tailscale sayesinde bu tür offsite backup artık kolaylaştı
Bunu bu şekilde yapan olup olmadığını merak ediyorum
Bunu arkadaş evine de aynı şekilde genişletmeyi planlıyorum
iCloud yerine fotoğrafları Immich ile yönetiyorum ve Tailscale sayesinde mahremiyeti korumak kolaylaşıyor
ZFS + zrepl ile snapshot çoğaltması yapıyorum ve sorun çözme sürecini AI'ın düzenlediği bir yazı olarak paylaşıyorum
İlk başta yerelde yedek alıp sonra diski bizzat taşıyarak sadece artımlı senkronizasyon yapıyordum
Syncthing'in untrusted peer özelliği sayesinde arkadaşlara depolama alanı kullandırırken veriler şifreli kalabiliyor
Homelab için bir PC, sıradan masaüstüne göre çok daha az güç tüketir
Örnekteki masaüstü yılda 600kWh tüketirken benim HP EliteDesk'im yaklaşık 100kWh tüketiyor
GPU gerekmiyorsa dizüstü de fazlasıyla yeterli olabilir
Eski bir oyuncu PC'sini TrueNAS ya da OMV için kullanmak iyi bir tercih
HDD'leri USB yerine SATA ile bağlamak daha güvenilir
AI veri merkezi talebi yüzünden HDD fiyatlarının hâlâ yüksek olduğuna dair şaka yapıyor
BIOS ve powertop ayarlarıyla güç tasarrufu optimizasyonu yapılabiliyor
NAS OS üzerine başka servisler koymak ters bir yapı gibi geliyor
Onun yerine genel amaçlı bir sunucu OS üstüne NAS işlevi eklemenin daha iyi olduğunu düşünüyorum
Çoğu servisi bare metal çalıştırıyor, Home Assistant ya da Nextcloud gibi şeyleri ise container içinde izole ediyorum
Ben Talos Linux tabanlı birden fazla eve yayılan Kubernetes kümesi kuruyorum
Wireguard ile bağlıyorum, her zone'a ZFS kutusu koyup snapshot çoğaltması yapıyorum
Traefik'i gateway olarak kullanıyor, CrunchyPGO ile leader/follower ayrımı yapıyorum
Ben TrueNAS'ı xcp-ng üstünde VM olarak çalıştırıyorum
Özel bir SAS denetleyicisini passthrough ile bağladım; eskiden esxi kullanıyordum ama hepsini xcp-ng'ye taşıdım
DNS için bind9, reverse proxy için nginx kurdum
Dell OptiPlex Micro üzerinde de başka VM'ler çalıştırıyorum
Çoğu homelab yüksek yük altında çalışmadığı için, asıl önemli olan RAM kapasitesi ve güç verimliliği
4 çekirdekli düşük güç tüketimli bir makine yeterli
Neredeyse hiç AI işi olmadığı için masaüstü sınıfı performansa ihtiyaç yok