Homelab düynasına giriş. – Ben nasıl başladım?

Sistem yöneticisi olarak yeteneklerimizi her zaman geliştirip güncel teknolojileri takip etmemiz gerekiyor. Ancak çalıştığımız kurum içerisinde bunu yapabilmek için her zaman vakit ve alan olmuyor, bu sebepten özgürce “oynayarak öğrenebileceğimiz” bir sisteme ihtiyaç doğuyor.
Ben homelab dünyasına nasıl girdim bundan bahsetmeden önce homelab’in ne olduğunu kısaca netleştirelim.

Nedir bu homelab?

“Benim için en basit haliyle homelab; kendimizi geliştirip teorik bilgilerimizi pratiğe dökebileceğimiz kişisel bir ortam.

Elbette her ne kadar teknik becerilerimizi geliştirmekten bahsetsem de tamamen hobi amaçlı kullanmakta bir sakınca yok. Özellikle homelab içerisinde self-hosted uygulamalar kullanmak veri mahremiyeti gibi bir çok artı sağlıyor – önümüzdeki tek engel elektrik faturamız olabilir.

Elektrik faturası demişken, homelab içerisinde kullandığımız cihazlar hem cebimizi hem de alacağımız verimi tabiiki doğrudan etkiliyor. Herkesin devasa makinelere sunuculara ihtiyacı olacağını sanmıyorum bu sebepten homelab içerisinde az maliyetli ve düşük elektrik tüketimli mini bilgisayarlar veya raspberry pi’lar da bir çok kişiye yetecektir.

Ben nasıl başladım?

Öncelikle bel kimim ki ? Doslarım ben Umur… evet bu kadar ben Umur bu yazıda kendimden bahsedip kafanızı şişirmek istemiyorum benim hakkımda daha fazla bilgi öğrenmek için Umur Hakkında sayfasına göz atabilirsiniz ve benimle alakalı bağlantılara buradaki linkten ulaşabilirsiniz.

Umur’un homelab’e neden başladığı hakkında bir çok (hiç bir) kaynakta rivayetler dolaşsa da, TechnoTim isimli youtube kanalının videoları ile başladığı tahmin ediliyor.
İşin şakası bir yana ben homelab macerama 2023 senesinde self-hosted uygulamalar çalıştırmak için başladım. İlk başladığımda elimde eski 2GB Ram’i Tek çekirdekli işlemcisi olan bir laptop vardı. Aradan biraz zaman geçtikten sonra bir Raspberry PI edindim. Bu süreç geçerken fark edemedim ki ben homelab’e bağımlı olmuşum.

Yeterli hiç bir zaman yeterli değildir– Umur 2025

Aradan geçen iki yılın sonunda, bir öğrenci olarak homelab’ime eklediğim hiçbir şey bana “yeterli” gelmiyordu — ve hâlâ da gelmiyor. Daha fazlasını kurmak, daha çok şeyi denemek istiyorum…

Şu an homelab’imda neler var?

Resimler homelab’imin günel durumuna ait. Ana sunucu olarak HP Proliant DL360P kullanıyorum. Bunun yanında içerisinde proxmox kurulu olan bir mini pc ve firewall (pfsense) kurulu olan bir mini pc bulunuyor – kablo dağınıklığna aldırış etmeyin düzelticem ama ne zaman bilmiyorum.

Aşağıdaki diagram şu an (Nisan 2025) homelab’imde ne olduğunun basit bir çizimi.

Diyagramda gördüğünüz her bir bileşeni detaylıca açıklayacağım. Ancak önemli bir not düşmek isterim: test amaçlı kullandığım ve genellikle 7/24 açık olmayan sanal makineler (VM’ler) ve uygulamalara burada yer vermedim.
Yazı içerisinde VM’lerin ve VM’ler içerisinde çalışan bütün yazılımlara değinecek olursak ben 3 gün yazı yazarım. Bu sebepten sadece temel bileşenlere ve teorik bilgilerimi en çok pratiğe döktüğüm kısımlara deyineceğim.

Sanallaştırma (Virtualization)

IT alanına ilgili hemen hemen herkesin duyduğu o şey “sanallaştırma”, ben de sektöre girdiğimde çok kez duydum ve ilk başlarda kişisel bilgisayarım üzerinde VMware Workstation veya Hyper-V gibi araçlarla sanallaştırma yapıyordum. Fakat bu yeterli gelmiyordu gerektiği zaman 7/24 açık duracak gerektiği zaman farklı donanımda bulunacak bir alternatife ihtiyacım vardı. Bu duruma çözüm olarak hem açık kaynak kodlu hem de ücretsiz olan Proxmox tercih ettim. Ne kadar isteğim VMware vSphare kullanmak olsa da bir ev kulanıcısı için lisans maliyetleri cep yakan cinsten olabiliyor. – Ah Broadcom yaktın bizi.

Sunucumda sanallaştırma kullanmam sayesinde bütün bir cihazı (16C32T 128GB Ram) tek bir işletim sistemine bağlamadan özgür ve esnek bir şekilde kullanabilir hale geldim. Bu yapı sayesinde:

  • Snapshot, backup ve klonlama gibi işlemleri kolayca gerçekleştirebiliyorum.
  • Birden fazla işletim sistemini aynı anda çalıştırabiliyor,
  • Servisleri birbirinden izole şekilde kurabiliyor,
  • İhtiyaca göre kaynak tahsisi yapabiliyor,
  • Snapshot, backup ve klonlama gibi işlemleri kolayca gerçekleştirebiliyorum.

Ayrıca, sistemin tamamını yeniden kurmam gerekse bile, Proxmox sayesinde sanal makinelerimi ve yapılandırmalarımı kolayca taşıyabiliyor veya yedekten dönebiliyorum. Bu da bana gerçek bir üretim ortamı simülasyonu sağlıyor. Zamanla, Ansible, Terraform gibi otomasyon araçlarıyla (IaC başka bir yazının konusu) sanallaştırma sürecini daha da otomatize etmeye başladım. Proxmox’un API desteği ve topluluk tarafından geliştirilen modüller sayesinde altyapımı kod ile yönetmeye doğru ilerliyorum.

Containerization (Docker)

“Nasıl yani VM içine VM mi sokacağız ?”

Ana odağım Sistem Yönetimi olsa da homelab içerisinde ihtiyaç duyduğum ve tam anlamıyla istediğimi bulamadığım yazılımları kendim geliştiriyorum. Fakat bu yazılımların önemli bir sorunu var…

Benim bilgisayarımda çalışıyordu ¯\_(ツ)_/¯

Hem bu problemden hem de açık kaynak kodlu yazılımları sisteminde rahatrlıkla çalıştırmak adına docker kullanmaya başladım. Daha doğrusu, homelab’e başladığım ilk günden beri Docker sistemimin ayrılmaz bir parçası.Docker sayesinde:

  • Uygulamalar arasında bağımsızlık sağlıyorum,
  • Kurulumlarım tekrarlanabilir hale geliyor,
  • Ortam bağımlılıkları neredeyse tamamen ortadan kalkıyor,
  • Hatalı bir güncelleme veya yapılandırmayı hızla geri alabiliyorum.

Örneğin; kendi geliştirdiğim veya özelleştirdiğim bazı servisleri bir Dockerfile ile container’a dönüştürüyor, ardından bunu build edip AWS ECR (Elastic Container Registry) üzerinden yedekliyorum. Böylece:

  • Uygulamamın belirli versiyonlarını arşivlemiş oluyorum,
  • Sunucu taşıma ya da yeniden kurulum gibi işlemlerde “nereden başlayacağım?” kaygım olmuyor,
  • CI/CD sürecime küçük adımlarla temel atıyorum.

Ek olarak, Docker Compose kullanarak birden fazla container’dan oluşan sistemleri tek bir YAML dosyası ile ayağa kaldırabiliyor, volume tanımları ve network ilişkilerini basitçe yönetebiliyorum.

Reverse Proxy/Load Balancer

Ev kullanıcısı olaran tek bir statik ip addresine sahibim bu da demek oluyor ki tek bir 443 portuna sahibim.

İyi de… benim dışarı açmam gereken bir sürü servis var?

Bu soruna bir çözüm olarak Reverse Proxy çözümü ile tanıştım. Homelab’imin ilk zamanları Nginx Proxy Manager kullanıyor olsam da şu anda HAProxy‘ye geçiş yaptım. HAProxy sayesinde:

  • Tüm HTTPS trafiğini tek bir noktada toplayıp, domain adına veya URL path’ine göre arka uç (backend) sunuculara yönlendirebiliyorum.
  • Her servis için farklı TLS sertifikaları tanımlayabiliyor, Let’s Encrypt entegrasyonu ile otomatik yenilemeler gerçekleştirebiliyorum.
  • Health check mekanizmasıyla arka uç servislerin çalışıp çalışmadığını izleyip, gerekirse trafiği yönlendirmeyi durdurabiliyorum.

Özetle, HAProxy sayesinde elimdeki tek portu onlarca farklı servise güvenli, düzenli ve esnek bir şekilde yönlendirebiliyorum. Bu yapı aynı zamanda bana gerçek hayattaki production reverse proxy deneyimini kazandırdı.

Son (Yeni bir başlangıç…)

Dostlarım bu günlük daha fazla yazmaya üşendim ama bu yazının son buluyor olması homelab maceramızın son bulduğu anlamına gelmiyor. – aksine, yeni başlıyor diyebiliriz.

Anlatacağım daha onlarca konu var (pfSense, Ansible, vs.) Tüm bu konuları zamanla hem blog yazılarıyla hem de YouTube videolarıyla detaylı şekilde paylaşacağım. Videolar için youtube kanalımı takip etmeyi unutmayın. Bu günlük benden bu kadar kendinize çok cici bakın.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir