- Yıllar boyunca farklı self-hosting yaklaşımlarını denedikten sonra, kendine özel bir ortamı başarıyla kurma deneyimini paylaşıyor
- Ana hedefler kişisel veriler üzerinde kontrol ve güvenilir bir altyapıyı sürdürmekti; bunun için NixOS, ZFS, Tailscale, Authelia gibi çeşitli temel teknolojileri bir araya getirdi
- Aile ve yakın çevrenin kullanılabilirliği de düşünülerek SSO ve ayrı bir başlangıç sayfası eklenip erişilebilirlik güçlendirildi
- Gerçek kullanımda karşılaşılan sorunlar ve somut çözüm yolları (ör. özel servisleri ters proxy ile yayımlama, karma VPN ortamı, kimlik doğrulama entegrasyonu) ayrıntılı biçimde derlendi
- Gelecekte yedekleme altyapısı ve güvenliğin güçlendirilmesi gibi ek iyileştirmeler planlanıyor; ayrıca edinilen bilgi birikimi ve başvuru kaynakları da paylaşılıyor
Giriş ve motivasyon
- Birkaç yıl boyunca çeşitli self-hosting yöntemlerini denedikten sonra, kendisi için “yeterince iyi” bir ortam kurdu
- Çeşitli açık kaynak kaynaklardan ve başkalarının deneyimlerinden yararlandı; bu süreci paylaşarak diğer geliştiricilere yardımcı olmayı amaçlıyor
Hedefler
- Kişisel veriler ve ilgili servisler üzerinde doğrudan kontrol kurarak gizliliği güçlendirmek ve bağımlı olunan servislerin değişmesi ya da kapanması riskini en aza indirmek
- Bu kontrolü aile üyeleri ve yakın çevresi için de sağlayarak güvenilir bir servis ortamı oluşturmaya odaklanmak
Gereksinimler
-
Zorunlu gereksinimler
- Servislerin genel internete açık olmasını mümkün olduğunca sınırlayarak güvenlik olayı riskini azaltmak
- Hatalardan kaynaklanan çekirdek altyapı kesintilerini en aza indirmek (döngüsel bağımlılıklardan kaçınmak ve yapılandırma geri dönüşünü kolaylaştırmak)
- Kimlik doğrulama, ağ, alan adı gibi çekirdek bileşenlere doğrudan sahip olmak ve önceliği açık kaynağa vermek
- Aile ve yakın çevre açısından kullanılabilirliği gözetmek (tutarlı SSO girişi, minimum bakım ihtiyacı)
- Yapılandırma dosyalarında deklaratif yaklaşımı aktif biçimde kullanmak (sürüm kontrolü, yedekleme ve geri yükleme kolaylığı, başkalarının ayarlarından yararlanabilme)
- Güncellemelerin kolay ve güvenli olması, böylece düzenli bakım yapılabilmesi
-
Düşük öncelikli gereksinimler
- Aşırı düzeyde modülerlik/temizlik gerekmiyor (öncelik pratiklikte)
- Her şeyin açık kaynak olması şart değil, ama mümkünse tercih ediliyor
- Yüksek erişilebilirlik (HA) hedeflenmiyor; kesintiler kabul edilerek daha basit bir yapı benimseniyor
Teknoloji seçimi
-
NixOS
- Tüm işletim sistemi ayarlarını Nix dili ve paket yöneticisiyle deklaratif biçimde yöneten bir Linux dağıtımı
- Yapılandırma kod olarak tutulduğu için sürüm kontrolü ve sistemli rollback mümkün
- Çeşitli paketleri ve Docker/PODMAN gibi entegrasyonları destekliyor
- Başka geliştiricilerin Nix yapılandırmalarını inceleyerek bilgi birikimi kazandı
-
ZFS
- Snapshot, rollback gibi veri koruma özellikleri güçlü, yüksek performanslı bir dosya sistemi
- 4 adet 10TB HDD, RAIDZ2 olarak yapılandırıldı (aynı anda 2 disk arızasına tolerans); 256GB SDD ile önbellekleme uygulandı
- Dosya ve medya dataset’leri ayrıldı, kullanım amacına göre NFS mount’larıyla yönetildi
- Basit ve güvenilir bir ana depolama mimarisi kuruldu
-
Tailscale & headscale
- Tailscale: Kullanımı kolay bir Mesh VPN; yalnızca istemci kurulumu ile genel internete açılmadan iç ağa erişim sağlıyor
- Headscale: Kendi kendine barındırılabilen açık kaynak Tailscale backend’i (şirket politikası değişikliği riskini ortadan kaldırıyor)
- Ağ güvenliğini artırıyor, ancak kullanıcı cihazlarına istemci kurulumu gerektiriyor
- Kullanılabilirlik açısından, cihaz başına istemci kurulum zorunluluğu bir miktar giriş engeli oluşturuyor
-
Authelia & LLDAP
- Authelia: OpenID Connect tabanlı SSO, kimlik doğrulama ve yetkilendirme çözümü; nginx proxy ile entegre edilebiliyor
- LLDAP: Lightweight LDAP; Authelia için kullanıcı/grup yönetiminde ve yedek kimlik doğrulama amacıyla kullanılıyor
- Az kaynakla iyi çalışıyor, ancak kurulumu zor ve hangi servise nasıl bağlanacağını öğrenmek zaman alıyor
Yapı tasarımı
-
Mimari
- Her sunucuya Star Wars gezegenlerinin adı verildi
- Giriş noktası olan public server “taris”, Authelia, headscale, blog gibi temel servisleri sunuyor
- headscale, Authelia, LLDAP dışarıdan erişilebilir olmak zorunda olduğu için sınırlı kapsamda public olarak çalıştırılıyor
- Özel servisler (Foundry VTT, izleme araçları vb.) NGINX ile proxy edilerek seçmeli biçimde yayımlanıyor
-
Özel sunucu
- Ana sunucu “kuat” üzerinde TrueNAS ile NixOS VM ve ZFS depolama havuzu yönetiliyor
- Snapshot/yedekleme kapsamı, “files” (geri getirilemeyen veriler) ve “media” (istenirse yeniden edinilebilecek veriler) olarak ayrıldı
- Ana servisler “bespin” VM’inde NixOS üzerinde çalışıyor; test için ayrı bir VM (“alderaan”) da kuruldu
-
Diğer servisler
- Görev açısından kritik cihazlar tek amaçlı appliance olarak yapılandırıldı (ör. akıllı ev için ayrı Home Assistant OS kullanımı)
- Matrix sunucusu ve Element istemcisi için resmi Ansible Playbook kullanıldı
- E-posta ve parola yönetimi, döngüsel bağımlılığı engellemek için ProtonMail ve Bitwarden gibi harici servislere bırakıldı
Tek tek sorunlar ve çözümler
-
Servis başlangıç sayfası
- Flame tabanlı basit bir dashboard ile kullanıcıların servislere erişimi kolaylaştırıldı
- Az kullanımı ve görsel olarak yeterince iyi olması sayesinde, alternatif bir servis gelene kadar pratik biçimde işletildi
-
Tailscale ile başka VPN’leri birlikte kullanma
- Bazı işletim sistemleri (özellikle Android, Windows) aynı anda birden fazla VPN çalıştırmayı desteklemiyor
- Tailscale exit node özelliği ile Gluetun (container tabanlı VPN istemcisi) birlikte kullanılarak ProtonVPN gibi harici VPN’ler üzerinden dolaylı kullanım sağlandı
- Ancak pil tüketiminin artması ve zaman zaman hız düşüşü gibi yan etkiler var
-
Kimlik doğrulama konusunda dikkat edilmesi gerekenler
- Self-hosting servislerinde başlıca kimlik doğrulama protokolleri: OIDC (öncelikli), OAuth, LDAP
- Her servis ve Authelia için ayrı yapılandırma gerekiyor
- Yönetici hesapları mutlaka Authelia/LLDAP entegrasyonundan bağımsız olarak da korunmalı; böylece kimlik doğrulama sorunu olduğunda kurtarma imkânı olur
- OIDC desteklemeyen servislerde NGINX ve Authelia proxy entegrasyonu ile erişim kontrolü uygulanabiliyor
- Authelia’nın OIDC’si ile NGINX Proxy erişim kontrolü birbirinden ayrı yapılandırılmalı
-
DNS ve SSL alma
- Public servisler normal yöntemle (alan adı → public IP) çalıştırılıyor
- İç servisler ise “internal” alt alan adı ve Tailscale IP kullanarak dışa açılmadan sunuluyor
- SSL sertifikaları için NixOS’un yerleşik Lets Encrypt desteği kullanılıyor (public servislerde HTTP-01, iç servislerde DNS-01)
-
NixOS VPS kurulumu sırasında dikkat edilmesi gerekenler
- Birçok VPS sağlayıcısı NixOS kurulum seçeneği sunmuyor
- Kurulum gerektiğinde, topluluk wiki’leri gibi kaynaklardan desteklenen kurulum yolunu doğrulamak gerekiyor
-
TrueNAS dataset’lerini VM’e mount etme
- TrueNAS’ın varsayılan firewall’u, VM’in host’a erişimini engelliyor
- Resmi rehberdeki gibi bridge ağı oluşturularak NFS dataset mount’u sağlandı
-
Kişisel servisleri public proxy ile yayımlama
- headscale tabanlı bir yapıda, NGINX
proxyPass ile özel servisler dışarıya açılabiliyor
- Tailscale’in resmi Funnel özelliğine ek olarak, yapılandırma örnekleri ve kurulum kaynakları da paylaşılıyor
Sonraki adımlar ve yapılacaklar
- Özel bir yedekleme sunucusu ve kurtarma doğrulama sistemi eklenmeli
- Tailscale/headscale’in erişim kontrolü özelliklerini daha etkin kullanma planı var
- SSH erişimi gibi alanlarda ek güvenlik güçlendirmeleri yapılacak
- Pi-hole, AdGuard Home gibi yerel DNS şifreleme ve önbellekleme çözümleri değerlendiriliyor
- Forgejo, Manyfold, RomM gibi yeni servislerin eklenmesi düşünülüyor
Başvuru kaynakları
2 yorum
Harika görünüyor!
Hacker News görüşleri
Amaç, aile veya arkadaşların kolayca kullanabilmesi için kişi başına tek bir giriş hesabıyla SSO (tek oturum açma) üzerinden birden fazla hizmete erişmelerini sağlamak; en zor ama aynı zamanda en havalı kısım da bu. Açık kaynak ve Linux gerçekten paradoksal: her yerde kullanılıyorlar ve tüm protokolleri kapsıyorlar, ama gerçek istemci ortamını, yani insanları bir araya getirip grup yazılımına benzer unsurları doğrudan kurmak daha da karmaşık hale geliyor. Farklı sistemleri organik biçimde entegre etmek ve hatta dizin altyapısı kurmak başlı başına şaşırtıcı bir süreç. Bir gün FreeIPA ya da Windows uyumlu bir dizin hizmetini kendim işleteceğimi hiç düşünmezdim, ama son zamanlarda OpenID tabanlı dünyanın gerçekten yerleşmeye başladığını da hissediyorum.
Katıldığın için teşekkürler. Basit giriş ve erişilebilirlik bu projedeki en zor gereksinimdi ve bence insanların gerçekten kullanıp kullanmayacağını belirleyen asıl nokta da bu. Açık kaynak gerçekten her yerde, ama sıradan kullanıcı bir şeyi bizzat kullanmaya çalıştığı anda sorunlar başlıyor. Bu paradoksun nedeni, her projenin kendi başına yenilik yapmak istemesi bence. Tek bir yönde sürükleyen merkezi bir aktörün olmaması hem avantaj hem dezavantaj. Yine de son 5 yılda sadece self-hosting dünyasına bakınca bile kurulum ve kullanım açısından işlerin çok daha kolay hale geldiğini hissediyorum.
Bu paradoksa gerçekten katılıyorum. Daha dün, FOSS'un teknik olmayan kişiler için ne kadar erişilmez olduğuna dair doğrulama platformumda bir gönderi yazdım. Teknik kullanıcılarla teknik olmayan bireyleri buluşturan, sistem entegratörü benzeri bir platformun çözüm olup olamayacağını düşünmeye başladım.
Aslında o kadar da zor değil. Belirli bir hizmete takılıp kalmak yerine seçimde en önemli kriteri SSO desteği yaparsanız kurulum beklenmedik şekilde kolay oluyor. Ben de başta neredeyse hiç deneyimsizdim ama caddy ve authentik kullanarak self-host sistemimi kısa sürede kurdum. Alternatif olarak yunohost, SSO'yu da sizin yerinize ayarlayan çok kolay bir dağıtım.
Ben authentik ile Google, Discord ve GitHub SSO kimlik doğrulaması kullanıyorum. Herkes için fazlasıyla iyi çalışıyor.
Herkesin kendine tam uyan sistemi bulmasının zaman alabileceğini biliyorum. Herkesin hedefleri, tercihleri ve ortamı farklı olduğu için kendi nihai kurulum sürecimi bir blog yazısında toparlayıp paylaşmak istiyorum. Hedeflerimi ve gereksinimleri, kullandığım teknolojileri, tasarımı ve sorun çözme sürecini ele alacağım. Benim yöntemim herkese uymayabilir ama başkalarına da bir referans olmasını umuyorum. Ben de çok sayıda içerik ve ücretsiz yazılım sayesinde geliştiğim için, yardım paylaşmaya devam etmek istiyorum.
Nix'i homelab'de kullanma deneyimin nasıldı merak ediyorum. Ben 7 yıldan uzun süredir 25U rack üzerinde küçük Kubernetes, Ceph ve Talos Linux çalıştıran epey hardcore bir kurulum işletiyorum ama gittikçe sadeleştirmek istiyorum; ne zaman düşünsem garip şekilde sonuç Nix ve ZFS oluyor. Bahsettiğin zorluklar bana çok tanıdık geliyor. Senin de merak ettiğin şeyler varsa sorabilirsin.
coolify kullanmayı hiç düşündün mü merak ettim. Ben bir yılı aşkın süredir coolify kullanıyorum ve GitHub'dan Heroku benzeri kolay otomatik deploy sunmasını gerçekten seviyorum https://coolify.io/
ZFS şifreleme özelliğini de kullanıyor musun diye merak ettim. Ben eskiden FreeIPA ve başka birkaç VM'i Debian+ZFS üzerinde çalıştırıyordum ama sadeleştirmek için yapıyı değiştirip VPS üzerinde sadece Seafile şifreleme kitaplığını çalıştırmaya, yedekleri de ZFS send/receive ile ev sunucusuna almaya başladım. O sunucu her gece açılıyor, güncellenip senkronize olduktan sonra tekrar uyku moduna geçiyor. Daha güvenli olması için Linux masaüstümü (Fedora) de ZFS ile tam şifrelemeye geçirmeyi düşünüyorum. Ana dataset zaten şifreli olduğu için harici disk veya bulut senkronizasyonu da epey kolaylaşıyor. Tüm fotoğraf arşivini VPS üzerindeki Seafile'a koymak maliyetli olduğu için bir yol arıyorum.
Kurulum izlenimlerin ve ayrıntılı açıklamaların faydalıydı. Senin gibi hemen benimsemem zor ama bir dashboard olarak flame kurup ailemle denemeye karar verdim.
Tanıştığımıza memnun oldum, yaptığın şey gerçekten ilgi çekici. Ben de NixOS tabanlı benzer bir proje üzerinde çalışıyorum. Hedefim, herkesin modeme takıp yalnızca web kurulum sihirbazını geçerek kullanabileceği, neredeyse sıfır ayarlı ve Apple hissiyatına benzer küçük bir kutu yapmak. Henüz erken aşamada ama evde zaten çalışıyor. Hibrit router (OPNSense/PFSense) ve uygulama sunucusu (Nextcloud, Synology, Yunohost vb.) rollerini tek seferde üstleniyor. Tüm ayarlar da tek bir Nix modülüyle yönetiliyor. Dinamik DNS, Let's Encrypt sertifikaları, uygulama bazında otomatik alt alan adı atama, reklam engelleme ve yerleşik headscale var. Şimdi SSO'yu da yapıyorum ve yazından biraz fikir almayı planlıyorum. Ayrıntılar için https://homefree.host
Bazen ev ağımı görünce, ben ölürsem aileme ne kadar zarar vereceğini ya da dışarıdan birinin kurulumumu anlamasının ne kadar zor olacağını hayal ediyorum. “Homelab oyunu” aslında eski kuşak “amcaların” minyatür tren rayları kurma hobisine benzer bir ihtiyacı karşılıyor. Bunu kötü anlamda söylemiyorum; bazı insanların mutlak biçimde kontrol edebildikleri kendilerine ait minyatür bir dünya isteme içgüdüsü olduğunu düşünüyorum.
Ben de tamamen aynı şeyi düşündüğüm için böyle bir durum için doküman yazdım. Birinci bölüm para ve önemli belgelerin nerede olduğunu, ikinci bölüm ise evi nasıl “daha aptal” hale getireceklerini anlatıyor. Mesela akıllı anahtarları söküp geleneksel anahtarlara geri dönmek, Bitwarden gibi anahtar hizmetlerini buluta taşımak, alan adı/e-posta masraflarını sürdürmek, router'ı ISP'nin varsayılan cihazına geri döndürmek gibi şeyler. Eşim akıllı eve çok sıcak bakmıyordu ama istediği zaman yeniden “aptal ev”e döndürülebileceğini öğrenince rahatladı. Açıkçası bütün bunlar ortadan kalkarsa ne kadar rahatsız olur bilmiyorum ama bunun benim sorunum olmayacağı düşüncesi de teselli veriyor.
Aile fotoğraflarımızı home lab RAID1 üzerinde tutuyorum ve her gece kayınvalidemin evindeki bilgisayara bağlı harici diske rsync ile yedek alıyorum. Böylece hem yedek var hem de bir şey olursa aile kolayca erişebiliyor. Eşim IT ile ilgilenmediği için ona sadece “USB'yi tak, her şey orada” dedim.
Fiziksel disk hırsızlığı gibi işe yaramaz tehdit senaryolarını görmezden gelmenin sorun olmadığını düşünüyorum. Tüm fotoğrafları ve önemli belgeleri şifrelemeden saklamak ve yanına anlaşılır açıklamalar bırakmak pratik açıdan daha mantıklı. Asıl endişe verici kısım ev otomasyonu tarafı.
Homelab işleten birinin uzun süre ortada olmaması ya da başına bir şey gelmesi durumunu önceden düşünmek pratikte önemli. Ben bunu özellikle kolaylaştırmak için bir şey yapmadım ama daha fazla düşünmek gerektiğini hissediyorum. Esas nokta, önemli verileri ve onlara erişecek kimlik bilgilerini geride bırakmak. Nextcloud gibi hizmetler kullanarak verilerin aile cihazlarına otomatik senkronize olmasını sağlamak ve aile ya da arkadaşların sistemi bizzat kullanır hale gelmesini teşvik etmek iyi olur. Bizim evde de Home Assistant'ı eşimin de kullanabildiği, neredeyse temel bir ev aleti gibi bir şeye dönüştürmeye çalışıyorum. Bunun ayrı bir VM yerine fiziksel bir cihaz olarak var olması yönetimi kolaylaştırıyor. Elbette bunların hepsi biraz umut dolu varsayımlar; bu yüzden en azından yakın aile içinde ayrıntılı bir planı birlikte yapmak önemli.
Ben de bu konuyu epey düşündüm. NAS ve Docker servislerinin ben olmadan sorunsuz açılacağını varsaymıyorum. Offsite parola yedeğinin de profesyonel yardım olmadan kurtarılamayacağını düşünüyorum. Bu yüzden NTFS biçimli harici diskte cron ile her gün artımlı snapshot'ları yeni klasörlere kaydediyorum. Veri 50 GB'tan az olduğu için ucuza çoğaltılabiliyor. Bir şey olursa o diski takıp klasörleri kopyalamak yeterli. Ayrıca tek tek dizüstülerde de Seafile kitaplığının tam kopyası var. E-posta alan adının ücretini 10 yıllık peşin ödedim ve iCloud üzerinde barındırıyorum; aile fotoğrafı ekleri yüzünden kota dolup postaların geri dönmesi sorunu için migadu'yu düşünüyorum.
Ben de bu alana çok ilgiliyim. Kendi işini yapmak / IT girişimi kurmak homelab isteğini daha da artırabiliyor, buna karşı uyarmak isterim. Bir noktadan sonra sadece basit container çalıştırmak yetmiyor; resmî başvurular yapıp yasal DBA ve ASN alıyor, hatta gerçek anlamda kendi IP bloğuna / IPv6'ya sahip olup kendi ISP'ne dönüşmeye başlıyorsun. Ingress meselesini çoğu kişi tailscale ile çözüyor ama bu gerçekten zor bir konu. STUN/TURN tabanlı bir yapıda tüm statik dosyaları sunucu tarafında cache'leyip, dinamik erişimi giriş duvarında e-posta magic link ile doğrulamak teorik olarak ne çok riskli ne de çok maliyetli gibi geliyor. Uzak geliştirme ortamı kurarken bu konulara daha da derin dalmak için ayrıca bir bahanen oluyor. İlgili bağlantılar: https://en.wikipedia.org/wiki/Traversal_Using_Relays_around_NAT, https://en.wikipedia.org/wiki/STUN
Son zamanlarda Immich ile uğraşıyorum ama ev dışından sadece tailscale üzerinden mi kullanayım yoksa VPS üzerinde reverse proxy de mi kurayım diye her seferinde kararsız kalıyorum. En çok düşündüğüm şey, VPS üzerinde kimin saldırı denemesi yaptığını tespit etmeye yardımcı olacak kullanıcı dostu bir izleme / güvenlik çözümü bulmak.
Benim kurulumum çok daha basit
HTTP parolayı düz metin olarak gönderir, bu yüzden en azından self-signed sertifika kullanmak daha güvenli olur.
Altyapıyı ya da servisleri de kod olarak doğrudan yazmak öğrenmek için gerçekten harika. Kendi ihtiyaçlarına tam uydurabilmek de çok güzel.
Böyle bir homelab işletmek istiyorum ama zamanım yok. Hafta sonu kurabilirim ama bakımını ve güncellemelerini sürekli yapacak boşluk olmuyor. Bu yüzden işi bulut sağlayıcısına bırakıp kafamdan çıkarıyorum. Benim gibi sadece bulut kullananlar buna nasıl yaklaşıyor merak ediyorum.
Benim de eski kurulumumda bakım düzgün yapılmadığı için stres yaşamıştım. Bu yüzden NixOS ve ZFS'yi sevmeye başladım; ikisinde de rollback gerçekten çok kolay. Güncellersin, bir sorun olursa hemen önceki sürüme dönersin, debug işini de yalnızca vaktin olduğunda yaparsın. Öte yandan bulut seçeneğinden memnunsan onun da gayet iyi olduğunu düşünüyorum. Kendi kurulumunu yapmak kesinlikle zaman yiyor; herkesin maliyet/değer hesabı farklı.
Ben yaklaşık 12 self-hosted servis çalıştırıyorum ve yükseltmeler genelde ayda 1 dakikadan bile kısa sürüyor. Her servis için bir klasör var; içinde docker-compose stack'i ve veri klasörü bulunuyor. Güncelleme için
docker compose pullçalıştırıp ardındanup -ddemek yeterli. Bazen yapı değişikliği gerektiren nadir yükseltmeler oluyor ama çoğu birkaç dakika içinde bitiyor. VM bile yok; tamamen Docker Compose ile yürüyen self-host kurulumunun en basit yaklaşım olduğunu düşünüyorum.Bu iş sadece bir hafta sonuyla bitmiyor. Benim durumumda her şey Plex'i bir kez kurmakla başladı, bir yıl sonra ise Proxmox ve türlü ev otomasyonu bileşenlerinin eklendiği karmaşık bir yapıya dönüştü. Yarı şaka yarı ciddi konuşuyorum ama en minimal kurulum için Docker Compose ile başlamak yönetimi de yükseltmeleri de kolaylaştırıyor.
SSO'yu gerçekten kurmak gerekli mi emin değilim. Aile/arkadaşlar wireguard istemcisini (iOS'ta bile çok basit) kullanabiliyorsa tek bir anahtarla ev ağına bağlanabilir ve ayrı bir SSO olmadan tüm iç hizmetleri kullanabilirler. Küçük ev ağlarında bunun avantajları dezavantajlarından çok daha fazla.
Kullandığımız Nextcloud, Mealie gibi hizmetlerde zaten kullanıcı bazlı hesaplar var. SSO sayesinde tüm hizmetlere aynı hesapla erişebiliyorlar ve benim de parola yönetmem gerekmiyor. Kurulum biraz daha karmaşıklaşıyor ama işletmesi aslında daha kolay hale geliyor; bu yüzden ailemin gerçekten kullanma ihtimali de artıyor.
Ben 20 uygulamayı self-host ediyorum ve her biri için kimlik doğrulamayı ayrı ayrı yönetmekten bıktım, bu yüzden SSO kuruyorum. Aileme de bazı uygulamaları açmak istediğimde kimlik doğrulamayı tek merkezden yönetebilmek en büyük öncelik. Yukarıda söylenen yaklaşıma katılmıyorum.
flame'i özellikle neden kullandığını merak ediyorum. node, react, redux gibi onlarca hatta yüzlerce üçüncü taraf bağımlılığı “güvenlik krallığına” sokmuş oluyorsun, oysa başlangıç sayfası işini tek bir basit HTML sayfası ve birkaç bağlantıyla da görebilirsin.
NixOS ile self-hosting denemek istiyorum ama henüz uygulamaya geçmedim. Benim ortamım birkaç VM ve her VM için tek bir docker compose dosyasıyla yönetiliyor; ansible playbook sadece compose dosyalarını kopyalıyor, Fedora Server da hep güncel sürümün bir gerisinde tutuluyor ve destek bitince yükseltiyorum, hepsi bu. Mac'te nix-darwin kullandığım için Nix yapılandırmasının avantajlarını anlıyorum ama mevcut ortamımı Nix'e taşımayı haklı çıkaracak kadar verim veya zaman kazancı henüz görmüyorum. Belki LLM'ler yapılandırma dosyalarını benim yerime yazdıracak kadar iyi olursa başka, ama şu an için girişmek için yeterli motivasyonum yok.
Ben de NixOS'u denedim ve bir hafta içinde hem ev ağımı hem de iki gerçek sunucumu tamamen migrate ettim. Aradan 3-4 ay geçti ve beklediğimden çok daha memnunum. Sunucu geçişi, workstation taşımaktan daha kolaydı. Son zamanlarda Jetson Orin Nano oyuncağımı bile NixOS ile kurup eğleniyorum. Eski günlerde Gentoo kullansaydım böyle bir şeye cesaret edemezdim. Gentoo'da en sinir bozucu şey, eski makinelerde akıl almaz derecede uzun derleme süreleriydi; örneğin GHC'yi 2019 model XPS üzerinde derlemek 6 saat sürebiliyordu.
Benim için NixOS'un en büyük farkı, bir şey bozulduğunda rollback'in aşırı kolay olmasıydı. ansible ya da compose tabanlı sistemlerde de yedekleme/kurtarma mümkün ama o sistemi bizzat kendin yazma yükü var. Yine de mevcut sisteminden memnunsan bunun iyi bir şey olduğunu düşünüyorum.
Zaten bir ölçüde IaC kullanıyorsan, NixOS'un getirdiği ek verimlilik çok büyük hissettirmeyebilir.