YAZILIM

Portföy veya Kurumsal Siteyi DigitalOcean App Platform’da Barındırma

Portföy veya Kurumsal Siteyi DigitalOcean App Platform’da Barındırma yazısının kapak görseli

Bir portföy sitesi, bir ajans tanıtım sayfası ya da bir dokümantasyon sitesi gibi statik içerikler için karmaşık bir altyapı kurmaya gerek yok. DigitalOcean App Platform, bu tür siteleri tamamen ücretsiz şekilde barındırma imkanı sunuyor. Bu yazıda statik bir sitenin App Platform üzerinde nasıl yayına alındığını, kendi alan adının nasıl bağlandığını ve bu sürecin diğer dinamik uygulama dağıtımlarından nasıl farklılaştığını anlatıyorum.

Statik Site Nedir, Neden Ücretsiz

Statik bir site, sunucu tarafında çalışan bir kod içermiyor, sadece HTML, CSS ve JavaScript dosyalarından oluşuyor. Bir portföy sitesi, bir kurumsal tanıtım sayfası, bir dokümantasyon sitesi ya da Hugo, Jekyll, Astro gibi araçlarla oluşturulmuş bir blog bu kategoriye giriyor. Sunucu tarafında herhangi bir işlem yapılmadığı için bu tür siteler App Platform’da çok az kaynak tüketiyor, bu yüzden DigitalOcean üç adede kadar statik siteyi tamamen ücretsiz barındırıyor.

Bu ücretsiz katman kişisel siteler, portföyler ve küçük projeler için düşünülmüş durumda. Her ücretsiz uygulama aylık belirli bir çıkış veri transferi (outbound data) kotasıyla geliyor, bu kota çoğu kişisel ya da kurumsal tanıtım sitesi için fazlasıyla yeterli oluyor. Kota aşıldığında ya da üçten fazla statik site barındırılmak istendiğinde ek bir aylık ücret devreye giriyor, fakat bu ücret oldukça düşük seviyede kalıyor.

Adım 1: Proje Dosyalarının Hazırlanması

App Platform’un statik site olarak tanıyabilmesi için projenin bir GitHub reposunda barındırılması gerekiyor. Proje bir statik site oluşturucu (Hugo, Jekyll, Astro, Next.js’in statik export modu gibi) ile üretiliyorsa, build çıktısının hangi klasöre yazıldığının bilinmesi önemli, çünkü bu bilgi ilerleyen adımda App Platform’a bildirilecek.

Basit bir HTML/CSS/JS sitesi söz konusuysa, hiçbir build işlemi gerekmiyor, dosyalar doğrudan repo kökünde ya da belirlenen bir klasörde tutulabiliyor.

Adım 2: App Platform Üzerinde Yeni Uygulama Oluşturma

DigitalOcean panelinde Apps sekmesine girip Create App butonuna tıklanır. Kaynak olarak GitHub seçilip ilgili repo ve branch seçiliyor. App Platform, repoyu tarayıp içeriğin statik bir site olduğunu genellikle otomatik olarak tespit ediyor, tespit edemezse bileşen türü manuel olarak Static Site olarak seçilebiliyor.

Bir build işlemi gerekiyorsa (örneğin Hugo ya da Astro kullanılıyorsa), build komutu ve çıktı klasörü (output directory) bu ekranda tanımlanıyor. Sade bir HTML sitesi için bu alanlar boş bırakılabiliyor, dosyalar doğrudan servis ediliyor.

Adım 3: Bölge Seçimi ve Yayına Alma

Bir sonraki ekranda uygulamaya bir isim veriliyor ve bölge seçiliyor. Statik siteler CDN üzerinden global olarak dağıtıldığı için bölge seçimi performansı ciddi şekilde etkilemiyor. Ayarlar onaylandıktan sonra Create Resources ya da Launch App butonuna tıklanarak süreç başlatılıyor.

Build işlemi tamamlandığında site otomatik olarak https://uygulama-adi.ondigitalocean.app formatında bir adres üzerinden erişilebilir hale geliyor. Bu adres, kendi alan adı bağlanana kadar geçici bir görüntüleme adresi olarak kullanılabiliyor.

Adım 4: Kendi Alan Adını Bağlama

Sitenin kendi alan adı üzerinden yayınlanması isteniyorsa, uygulamanın Settings sekmesinden Domains bölümüne gidilip ilgili alan adı ekleniyor. Bu adımda App Platform’un ücretsiz olarak sunduğu iki genel ingress IP adresi ya da doğrudan CNAME kaydı üzerinden yönlendirme yapılabiliyor. Alan adı sağlayıcısının DNS panelinden bu kayıt oluşturulup App Platform’a işaret ettirildiğinde, DigitalOcean SSL sertifikasını otomatik olarak oluşturup yönetiyor.

DNS değişikliklerinin yayılması birkaç dakikadan birkaç saate kadar sürebiliyor. Yayılma tamamlandığında site, kendi alan adı üzerinden HTTPS ile erişilebilir hale geliyor.

Adım 5: Otomatik Güncelleme Ayarları

App Platform, GitHub reposuna yeni bir commit gönderildiğinde siteyi otomatik olarak yeniden build edip yayına alıyor. Bu özellik varsayılan olarak açık geliyor, Settings sekmesinden Auto Deploy ayarı kontrol edilip gerekirse değiştirilebiliyor. Bu sayede bir portföy sitesine yeni bir proje eklemek ya da bir kurumsal sitede metin güncellemesi yapmak, sadece reponun ilgili branch’ine bir push atmak kadar basit bir işleme dönüşüyor.

Yapılandırmayı Kod Üzerinden Yönetmek

Ayarları panel üzerinden değil, doğrudan repo içinde bir dosya üzerinden tanımlamak isteyenler için App Platform bir yapılandırma dosyası (app spec) desteği sunuyor. Repo kökünde .do/app.yaml şeklinde bir dosya oluşturulup build ayarları, alan adı ve uyarı kuralları burada tanımlanabiliyor. Bu yaklaşım, tüm yapılandırmanın panel yerine kod içinde versiyon kontrolüyle takip edilmesini sağlıyor, bu da özellikle birden fazla kişinin çalıştığı projelerde tutarlılık açısından faydalı oluyor.

Sık Karşılaşılan Sorunlar

Site açılıyor ama görseller ya da stiller gelmiyor: Bu genellikle dosya yollarının build çıktısındaki klasör yapısıyla uyuşmamasından kaynaklanıyor. Output directory ayarının build aracının gerçekte ürettiği klasörle eşleştiğinden emin olunmalı.

Özel alan adı bağlanamıyor: DNS kaydının doğru şekilde oluşturulup oluşturulmadığı kontrol edilmeli, dig alanadi.com gibi bir komutla yönlendirmenin yayılıp yayılmadığı doğrulanabiliyor.

Ücretsiz kota aşıldı uyarısı geliyor: Bu durumda ya çıkış veri transferi kotası aşılmış ya da üçten fazla statik site barındırılıyor demektir. Panelden kullanım detayları incelenip gerekirse ek ücretli plana geçilebiliyor.

Sonraki Adımlar

Bir portföy ya da kurumsal site için bu yöntem, sunucu yönetimiyle hiç uğraşmadan hızlı, güvenli ve ücretsiz bir barındırma çözümü sunuyor. Site zamanla dinamik özellikler gerektirmeye başlarsa (bir iletişim formu, bir API entegrasyonu gibi), önceki yazıda anlatılan dinamik uygulama dağıtımı adımlarına geçilerek aynı App Platform altyapısı genişletilebiliyor.

Kendi siteni yayına almak istersen, referans linkim üzerinden kayıt olarak bana destek olabilirsin.

Tüm projelerim ve üzerinde çalıştığım konuları incelemek istersen https://hub.barisgunduz.com/ adresini ziyaret edebilirsin.

Web ve mobil teknolojilere ilgi duyuyorum. Yaklaşık 14 yıldır web geliştirme ve internet reklamcılığı üzerinde çalışıyorum. Web yazılım teknolojileri ve yönetimi konusunda uzmanım. Birçok şirkete teknoloji ve reklamcılık danışmanlığı verdim. Hâlâ bazılarına destek vermeye devam ediyorum. Kendi projelerimle ilgili bazı çalışmalarım var. Çoğu içerik üreticiliği ile ilgili. Projelerimin hepsi Gündüz Medya markası altında toplanmıştır.

Bir yanıt yazın

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