- Veri toplama odaklı merkezi hizmetlere bir alternatif olarak self-hosting son dönemde popülerlik kazanıyor
- Çeşitli araçlar ve uygulamalar denendikten sonra 1 yıldan uzun süredir istikrarlı biçimde işletilen deneyime dayanarak faydalı bulunan araçlar tanıtılıyor
- Konteyner runtime'ları, web tabanlı yönetim araçları, reverse proxy ve VPN ile diğer self-hosting araçları için öneri yazıları derlemesi
- Bu yazı belirli bir çözümün diğerinden üstün olduğunu göstermek için yazılmadı; farklı sorunlar için farklı çözümler vardır vurgusu yapılıyor
Konteyner runtime'ları
- Günümüzde konteynerler hosting'in temeli haline geldi ve geleneksel yöntemler giderek daha az görülüyor
- Bu durum ev sunucusu kullanıcıları (homelabber) için oldukça olumlu bir eğilim; konteynerler yazılım dağıtımını kolaylaştırıyor ve sanal makinelere göre daha verimli performans sunuyor
- Çoğu kişi Docker kullanıyor, ancak bu yazı ev ortamında kullanılabilecek çeşitli alternatif runtime'ları tanıtıyor
-
Docker
- En yaygın kullanılan, özgün konteyner runtime'ı
- Zengin dokümantasyon ve topluluk sayesinde, BT'ye çok aşina olmasanız bile GitHub'dan
docker-compose.yml kopyalayıp çalıştırabilirsiniz
- Ancak güvenlikle ilgili ayarların ayrıca ele alınması gerekir
-
Podman
- Rootless mimarisi ve Docker CLI uyumluluğu sayesinde dikkat çeken yeni nesil konteyner runtime'ı
- Daemon olmadan çalıştığı için güvenliğe önem verenler veya ilgili teknolojileri öğrenmek isteyenler için uygundur
- Docker komutlarının çoğu aynen kullanılabilir ve
docker komutuyla uyumlu alias sağlaması geçişi kolaylaştırır
- Başlangıçta bir giriş eşiği olsa da, dokümantasyon ve topluluk geliştikçe erişilebilirliği artıyor
- Ayrıca Podman Quadlets ile docker compose yerine systemd tabanlı bildirimsel konteyner yönetimi de mümkündür
-
Kubernetes
- Meraklı ve deneysel ev sunucusu kullanıcıları için meydan okuma isteğini tetikleyen gelişmiş bir araç
- Çok sayıda instance'ı zarif biçimde yönetebilen bir orkestrasyon aracı olarak kurumsal düzeyde yönetim deneyimi sunar
- Ancak özellikleri çok fazla ve karmaşık olduğu için çoğu kullanıcıya fazla gelir
- Ev ortamında asıl amaç öğrenmenin kendisidir; pratik kullanımdan çok teknolojiyi anlamaya odaklanılır
Web tabanlı konteyner yönetim araçları
- Bazı kullanıcılar compose dosyalarını yerel diskte toplayıp yönetmeyi tercih eder, ancak her seferinde SSH ile sunucuya bağlanıp logları kontrol etmek zahmetlidir
- Bunun yerine web tabanlı konteyner yönetim araçları kullanılırsa işler çok daha rahat yürütülebilir
-
Portainer
- Docker, Kubernetes ve Podman ile uyumlu en istikrarlı web UI yönetim aracı
- Ev sunucularından kurumsal ortamlara kadar yaygın kullanılır ve gerçek kullanım üzerinden öğrenmek için de oldukça faydalıdır
- Açık kaynak Community sürümü ile ek özellikler içeren Enterprise sürümü vardır (3 lisans ücretsiz sunulur)
- Sezgisel arayüzü ve çeşitli özellikleri sayesinde konteyner yönetiminde çok avantajlıdır
-
Dockge
- Uptime Kuma geliştiricisinin yaptığı yeni bir web tabanlı Docker Compose yönetim aracı
- Henüz Portainer kadar olgun olmasa da çok basit ve sezgisel UI en güçlü yanıdır
- Geliştirici GitHub issue'larına hızlı yanıt veriyor ve düzenli güncellemeler yapılıyor
- Hafif ve minimal araçları tercih eden kullanıcılar için uygundur
Reverse proxy ve VPN
- Dışarıdan da self-hosted uygulamalara erişmek için iki ana yöntem vardır:
- Hizmeti doğrudan internete açmak
- VPN üzerinden iç ağa erişmek
- VPN güvenlik açısından daha emniyetlidir, ancak internete açma yöntemi de doğru yapılandırılırsa oldukça kullanışlıdır
-
Pangolin
- VPN ile reverse proxy'yi tek çözümde birleştiren yenilikçi bir çözüm
- Adeta self-hosting için Cloudflare gibi çalışır
- VPS benzeri bir ortama yalnızca ingress sunucusu kurulursa, farklı ortamlardan VPN istemcisiyle kolayca bağlanılabilir
- CrowdSec entegrasyonu ve temel SSO özellikleri de içerir
- Yazarı bu yazıyı yazmaya itecek kadar etkileyen bir araç; zamanla mevcut çözümler için standart bir alternatif olma potansiyeline sahip
-
Nginx Proxy Manager (NPM)
- TCP/UDP/HTTP(S) proxy'lerini web UI üzerinden kolayca yapılandırmayı sağlayan bir Nginx frontend'i
- Pek çok kullanıcı tarafından kullanılsa da yazar bazı işlevleri (ör. parola koruması) istikrarsız buluyor
- İlk tanıştığı araç olarak çok iyi bir izlenim bırakmasa da, çalıştığında görevini yerine getiriyor
-
Caddy
- Basit bir yapılandırma dosyası (Caddyfile) ile proxy ayarından HTTPS sertifikası almaya kadar her şeyi otomatikleştirir
- Web UI olmadığı için yeni başlayanlara önerilmez, ancak UNIX felsefesini seven kullanıcılar için en iyi seçeneklerden biridir
- Let’s Encrypt'i varsayılan olarak destekler ve karmaşık kurulum gerektirmemesi avantajdır
-
NetBird
- Tailscale'e aşinaysanız hemen alışabileceğiniz bir VPN çözümü
- WireGuard tabanlı ağı otomatik olarak kurar ve karmaşık yapılandırmaları azaltır
- Hem bulut ücretsiz katmanı hem de self-hosting seçeneği sunduğu için esnektir
Durum izleme ve bildirim araçları
-
Uptime Kuma
- Zabbix veya Grafana gibi ağır stack'lere gerek kalmadan hizmet durumunu kolayca izlemeyi sağlar
- Tek bir dağıtımla farklı kanallar üzerinden bildirim ayarlanabilir
- Self-hosting sistemlerinin erişilebilirliğini kontrol etmekte çok başarılıdır
-
Gotify
- Basit HTTP istekleriyle push bildirim gönderebilen bir bildirim sunucusu
- Mobil uygulama kurulduktan sonra bildirim alınabilir ve Uptime Kuma gibi araçlarla entegrasyon da mümkündür
- Çeşitli self-hosting araçlarıyla birlikte kullanılabildiği için pratiktir
Self-hosting uygulamaları bulmak için ek kaynaklar
- Çeşitli self-hosting uygulamalarını keşfetmek için yararlı kaynakların bir derlemesi
-
- GitHub üzerinde sunulan kapsamlı bir yazılım listesi
- Biraz dağınık olabilir ve geliştirilmesi durmuş bazı projeleri de içerir
-
- Yazarın en sevdiği kaynaklardan biri
- Niş uygulama öneri bülteni ile sıralama özelliğine sahip büyük bir uygulama dizini sunar
- Oldukça faydalı bir sitedir
-
- Hemen çalıştırılabilir Docker Compose dosyaları derlemesi
- Bazı uygulamalar güncellemeler nedeniyle uyumluluk sorunları yaşayabilse de genel olarak iyi bir başvuru kaynağıdır
4 yorum
AliExpress indirimi sırasında bir
n100alıp Proxmox kurdum ve önce mevcutta kullandığım Oracle ARM sunucusundaki tüm verilerin yedeğini aldım. Ayrıca Xpenology ve pfSense de kurdum; henüz tam anlamıyla kullanmaya başlamadım ama yakında ana sisteme taşımayı planlıyorum.Geçen yılın sonunda indirimdeyken bir VPN hizmeti aboneliği almıştım. Büyük servislerde yavaş yavaş çeşitli değişikliklerin olacağına dair işaretler görünmeye başlayınca, zamanla self-hosting yapmaya karar verdim. Önce tarayıcının parolalarını ve yer imlerini taşıyarak yavaş yavaş test etmem gerekecek.
Docker + Portainer + Cloudflare + Uptime Kuma
Ben de bu şekilde kullanıyorum.
Hacker News görüşü
Kendi kendine barındırma fikrini seviyorum. Birden fazla küçük web sitesi ve proje işletiyorum, bu yüzden kaynaklar büyük bir sorun değil
Yeni bir VPS kuruyorum
dnf-automatickurupreboot = when-changedayarıyla güncellemeleri otomatikleştiriyorumdocker-composeyerine kullanıyorumKendi kendine barındırmanın artması endişe verici
Web uygulaması barındırmak için dokku kullanmaya devam etmeyi planlıyorum
Hashicorp Nomad, Consul ve Traefik'i OpenTofu ile yönetiyorum
Portainer'ı denedim ama
docker composedaha kolaydıdocker compose pullcrontab ile ayarlanabilirKendi kendine barındırırken konteyner kullanmak yerine statik site oluşturucu kullanmanızı öneririm
FreeBSD jails ve kabuk betikleri kullanarak kendi kendine barındırıyorum
Bu yazı, barındırma yöntemimi yükseltmem için bana motivasyon verdi