Ana sayfa→Yazılım & İşletim Sistemleri
Yazılım & İşletim Sistemleri

Docker Kendi Sunucunu Kurmanın Zor Kısmı Değil; Asıl Zor Kısım Neredeyse Herkes Tarafından Atlanıyor.

Modern self-hosting ile bir .yaml bloğunu kopyalamak, `docker compose up -d` komutunu çalıştırmak ve `localhost:8080` adresinde şık bir web arayüzünün...

User Avatar
Ahmet AvcıEditör
4 dk okuma

Modern self-hosting ile bir .yaml bloğunu kopyalamak, docker compose up -d komutunu çalıştırmak ve localhost:8080 adresinde şık bir web arayüzünün belirdiğini görmek kolay. Size beş dakikadan kısa bir sürede bir DevOps dahisi hissi veriyor. Bir hafta sonra ise evinizdeki anyone hizmeti erişemiyor çünkü yerel IP adresleri değişmiş ve tarayıcınız güvensiz HTTP/SSL uyarıları veriyor. Ham bir portu doğrudan internete açmak sunucunuzu otomatik port tarayıcılarının hedefi haline getiriyor.

Docker uygulama dağıtımını çözmüş olsa da, ağ altyapısını, güvenli uzaktan erişimi, uç yönlendirmesini veya veri yaşam döngüsü yönetimini çözmedi. Bir konteyneri ayağa kaldırmak kolay kısım; basit bir kopyala-yapıştır işlemi. Self-hosting’in zor kısmı, Docker’ın etrafında altyapı ağını, ters vekillemeyi, yerel DNS’i ve bir felaket toplatma yığınını kurmaktır; bunu atlamak ev laboruarınızı karışık, güvensiz ve kararsız bir hale getirir.

Konteynerleriniz neden çöker?

Bu yönetici kritik öneme sahip

Çok sayıda standart Docker eğitiminde kritik ağ ve yönetim katmanları atlanır, ancak bunlar uygulanmadığında ikinci gün altyapı krizlerine yol açar. Kutudan çıktığı gibi Docker, size :8080, :9000, :3000 gibi ham portları yönetmeyi zorunlu kılar ve IP-port kombinasyonlarını ezberlemek sürdürülebilir değildir. Pi-hole, AdGuard Home veya Unbound ile doğru split-horizon yerel DNS’i kurarak vault.home.arpa gibi insan dostu alan adlarını yerelde yönlendirmek, herkesin atladığı adımdır. Bunu kurmak, konteynerlerinize erişmeyi, o ham portları yönetmek zorunda kalmadan çok daha kolay hale getirir.

SayarBilgi sitesini Google’da tercih edilen kaynak olarak seç

Web hizmetlerini şifrelenmemiş HTTP üzerinden çalıştırmak kimlik bilgilerinizi yerel Wi-Fi üzerinden açıkta bırakır, bu nedenle bir ters vekil ve TLS sertifika motoru kurduğunuzdan emin olmalısınız. Caddy veya Nginx Proxy Manager gibi bir ters vekil üzerinden trafiği, otomatik Let’s Encrypt/ACME SSL sertifikalarıyla yönlendirmek, sıfır güven (zero-trust) güvenliği için vazgeçilmezdir.

Son olarak, yerel bir Docker volume veya bind mount’u kendi sunucu SSD’nize bağlamak bir yedekleme gibi görünse de, gerçekte sadece canlı veridir. Gerçek veri koruma, Borg Backup, Restic veya Kopia gibi araçları kullanan otomatik uzak konumlu 3-2-1 yedekleme stratejileri gerektirir. Bunlar, sunucu diski arızaları gerçekleşmeden önce veri tabanı toplama işlemlerini yönetir, böylece tüm verilerinizi kaybetme riskiyle karşılaşmazsınız.

Tailscale homepage open on a desktop monitor

Hangi adımları atmalısınız?

Konteyner dağıttığınız her bu adımları uyguladığınızdan emin olun

Konteyner sunucusundan, çökmüş ve sürekli bakım gerektiren bir durumdan, üretim seviyesinde bir ev laboruarına geçmek istiyorsanız, şu adımları izleyin. Öncelikle ucu kurun, yani ters vekili ve sertifikaları. Bu birinci adım olmalıdır. Caddy gibi özel bir uç yönlendirici/vekil konteynerini ayağa kaldırın ve herhangi bir kullanıcıya yönelik uygulama başlatmadan önce onu iç bir Docker ağına bağlayın.

Ardından, yerel DNS sunucunuzu yapılandırarak ev alan adınızın joker (wildcard) kayıtlarını doğrudan ters vekilinizin IP adresine yönlendirmek yerel split DNS’i uygulayabilirsiniz. Bu, tüm uygulamalarınıza o dağınık IP adresleri yerine temiz, akılda kalıcı URL’ler yazarak erişmenizi sağlar. Port numaraları yazmak yerine sadece jellyfin.home.arpa yazabilirsiniz.

Port yönlendirmesi olmadan güvenli bir uzaktan erişim istiyorsanız, router’ınızın güvenlik duvarını kısıtlamanız ve uzak konumlu trafiği Tailscale, WireGuard veya Cloudflare tünelleri gibi bir hizmet üzerinden sıkı kimlik doğrulama kurallarıyla yönlendirmeniz gerekir. Tailscale, halka açık IP adresi, karmaşık güvenlik duvarları veya manuel port yönlendirmesi gerektirmeden, şifrelenmiş bir ağ (mesh) ağı oluşturarak bilgisayarlarınıza, sunucularınıza, ev laboruarlarınıza ve NAS cihazlarınıza her yerden güvenli bir şekilde bağlanmanızı sağlar.

Son olarak, uzak konumlu 3-2-1 yedeklemeleri otomatikleştirdiğinizden emin olun. Uygulama durumunu anlık görüntülemek, veri tabanı şemalarını toplamak, volume’ları şifrelemek ve bunları uzak konumlu buluta veya ikincil donanım hedeflerine senkronize etmek için cron işleri yazın veya özel yedekleme konteynerleri dağıtın.

synology nas on shelf

Her şey yolunda değil

Ancak bu sorunlar çöülebilir

          Durumla karşılaşabileceğiniz sorunları belirtmek değerinde. Örneğin, Docker’ın varsayılan ağ izoleliği size engel olabilir ve gerçek dünya operasyonel zorlukları yaratabilir. Docker’ın iç köprü ağları, konteynerleri varsayılan olarak izole eder ve özel Docker ağlarını düzgün biçimde tasarlamadıkça harici ters vekillerin takılmasına yol açar.

          Bir konteyner görüntüsünü, altını oluşturan veritabanı hacmini yedeklemeden güncellemek, şema geçişlerinin başarısız olmasına neden olabilir ve bu da oldukça fazla bakım borcu yaratır. Görüntü sabitleme politikaları oluşturmak, örneğin :latest yerine belirli sürüm etiketlerine kilitlenmek, üretim hizmetlerinin gece sessizce çökmesini engeller ve böylece çok daha az bakım gerektiğini hissedersiniz.

          Docker zor değil

          Ancak yüzeyde göründüğü kadar basit değil

          Docker, yazılım dağıtımını önemsiz hale getirdi; ancak tüm konteynerlerinizi dağıtmadan önceki sistem yönetiminin gerçek sorumluluklarını ortadan kaldırmadı. Gerçek self-hosting ustalığı, 50 konteyneri çalıştırmaktan değil, onların altında kolayca çevrimiçi kalmalarını sağlayan sağlam ve güvenli altyapıyı kurmaktan ibaret. Docker Hub’ı kapatın, yeni hizmet ekleme isteğinden uzaklaşın ve ev laboruarınızın hak ettiği ters vekil, yerel DNS ve saha dışı yedekleme katmanlarını kurmak için bir hafta sonunu ayırın.

          İlginizi Çekebilir: Ubuntu’dan Vazgeçtim: WSL’ye Geçince Windows 11 PC’m Günlük Linux İşlerimi Yaptırıyor →
          Kaynak: XDA Developers ↗Kaynak yazarı: Jasmine Mannan
          💬 SayarBilgi Topluluğu

          Bu Gelişmeyi Toplulukta Değerlendirin

          Haber hakkındaki düşüncelerinizi, donanım deneyimlerinizi ve teknik sorularınızı topluluk üyeleriyle anlık olarak tartışın.

          Topluluk Canlı Akışı →
          💬 Topluluk Masası & Tartışma

          Bu gelişme hakkında düşüncelerinizi, donanım deneyimlerinizi veya sorularınızı Topluluk Forumumuzda paylaşın.

          Foruma Katıl & Yanıtla ➔
          Forumda sor / tartış
          TOPLULUĞUN SESİ

          Söz sizde.

          0 yorum

          Deneyiminizi, sorularınızı ve katkılarınızı paylaşın. E-posta adresiniz yayımlanmaz.

          Sohbete katıl

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

          Yorumunuz yayımlanmadan önce onay bekleyebilir.

          BİR SONRAKİ OKUMA

          Merak etmeye devam

          Tümünü gör ↗

          Neyi merak ediyorsun?

          En az 3 karakter yazın.

          Keşfet