Sunucu uğraşı olmadan Node uygulaman
Uygulamayı sen yazdın; asıl yorucu kısım etrafındaki her şey — yamalanacak bir VPS, ayarlanacak bir ters vekil, yenilenecek sertifikalar, süreci ayakta tutacak bir process manager ve sonradan eklenecek bir CDN.
cdn.com.tr, Node.js uygulamanı yönetilen bir konteyner uygulaması olarak çalıştırır. Bir Git deposunu bağlarsın; her push yeni bir imaj derleyip yayına alır. Otomatik HTTPS'li bir alan adı, düşen konteyneri yeniden başlatan sağlık kontrolleri, panelden ya da CLI'dan okuyabildiğin loglar ve replikaları artırıp azaltma imkânı gelir.
Konteynerde çalıştığı için runtime tamamen senin dediğin şey: kendi Node sürümün, kendi paket yöneticin, kendi build adımın. Hiçbir şey bir hosting panelinin varsayılanlarının arkasına gizlenmez.
Next.js, NestJS, Express — konteynerleşen her şey
Özel bir "desteklenen framework" listesi yok, çünkü uyumlu olman gereken dayatılmış bir runtime da yok. Uygulaman bir konteynere derleniyorsa ve bir portu dinliyorsa burada çalışır.
Bu, ön yüzde Next.js ve Nuxt'ı, API tarafında NestJS, Express ya da Fastify'ı, hiç HTTP sunmayan arka plan işçilerini kapsar. Birden fazla servisi olan bir depo — web uygulaması, işçi, kuyruk — tek bir Docker Compose dosyasından birden fazla konteyner uygulaması olarak yayına çıkar.
Paylaşımlı hostingde genelde patlayan ayrıntılar sende kalır: Node sürümü, native modüller, bellek limitleri ve build'in tam olarak nasıl çalıştığı.
Git'ten deploy
Depoyu bir kez bağla ve dalı seç. O dala yapılan her push imajı derleyip yayına alır. Yüklenecek bir şey yok, SSH yok, bakımını üstleneceğin bir build sunucusu yok.
Depoda bir Dockerfile olması gerekir — build'i tanımlayan şey odur. Node uygulaması için kısa bir dosyadır ve aynı zamanda deploy'u tekrarlanabilir kılar: aynı commit her zaman aynı imajı üretir. Aşağıdaki örnek çoğu proje için yeterlidir.
Dockerfile — tipik bir Node uygulaması
FROM node:22-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM node:22-alpine
WORKDIR /app
ENV NODE_ENV=production PORT=3000
COPY --from=build /app ./
EXPOSE 3000
CMD ["npm", "start"]
Ekstra sağlayıcı olmadan veritabanı, önbellek ve depolama
Çoğu Node uygulaması bir veritabanı ve önbellek ister. Başka bir yere üye olup bağlantı dizelerini elle ortam değişkenlerine yapıştırmak yerine, bunları yönetilen eklenti olarak aç — bağlantı bilgileri uygulamaya senin için enjekte edilir.
Postgres, MySQL, Redis ve NATS mevcut; ayrıca yüklemeler ve statik dosyalar için S3 uyumlu nesne depolama var — CDN'in sunduğu depolamanın aynısı, yani kullanıcı yüklemeleri uygulamanın üzerinden değil edge'den dağıtılır.
Tek panel, tek fatura: uygulama, veritabanı, önbellek, depolama, DNS, CDN ve WAF.
cdnctl — eklentiler ve deploy
cdnctl container addons enable-postgres --account <account_uuid> --app <app_uuid>
cdnctl container addons enable-redis --account <account_uuid> --app <app_uuid>
# object storage for uploads
cdnctl object-storage buckets create --account <account_uuid> --name uploads
# ship it
cdnctl container apps deploy --account <account_uuid> --app <app_uuid>
cdnctl container apps logs --account <account_uuid> --app <app_uuid> --tail 100
CDN zaten önünde
Normalde ayrıca kurman gereken kısım tam da bu. Uygulaman, CDN müşterilerimize hizmet veren aynı edge ağının arkasında durur: statik dosyalar ve önbelleklenebilir yanıtlar en yakın edge'den sunulur, Brotli sıkıştırma ve otomatik WebP/AVIF görsellerle — yani Node süreciniz bir kez gönderdiği dosyalarla uğraşmaz.
Türkiye'de 4 nokta ile Türk kullanıcılar ülke içindeki bir edge'den sunulur; 14 ülkelik ağ da geri kalanı hızlı tutar. Web Application Firewall, DDoS koruması, bot filtreleme ve otomatik SSL aynı edge'de durur — dahil, üst pakete gizlenmiş değil.
Deploy sonrası önbelleği aynı CLI'dan temizlersin: `cdnctl purge --account <uuid> --path /assets/app.js`.
Staging, geri alma ve dürüst fiyat
Production deploy'ları sıkıcı olmalı. Bir uygulamanın preprod kopyasını oluşturup oraya deploy edebilir, kontrol edip production'a terfi ettirebilirsin — yanlış çıkarsa terfiyi geri alabilirsin. Sağlık kontrolleri, başlayan ama sağlıklı hale gelmeyen konteyneri yakalar.
Planlar CDN, WAF, DDoS koruması ve otomatik SSL dahil aylık $9'dan başlar, üstüne 15 gün deneme eklenir. İstediğin an iptal edip denemeyi kullanmaya devam et ya da aynı gün iade al. Faturalandırma yerel para biriminde, düzgün faturayla; destek 7/24 Türkçe.
Node.js Hosting SSS
Hangi Node.js sürümleri destekleniyor?
İmajınızın kullandığı sürüm. Runtime Dockerfile'ınızdan gelir, yani Node sürümünü siz seçer, istediğinizde yükseltirsiniz — beklenecek platform genelinde bir sürüm yok.
Dockerfile yazmam gerekiyor mu?
Evet, bugün depoda bir Dockerfile (ya da build bölümü olan bir Docker Compose dosyası) olması gerekiyor — build'i tanımlayan şey o. Tipik bir Node uygulaması için yaklaşık on satırdır; yukarıdaki örnek çoğu projede çalışır. Ayrıca deploy'u tekrarlanabilir kılar: aynı commit her zaman aynı imajı üretir.
Tek depodan birden fazla servis çalıştırabilir miyim?
Evet. Bir Docker Compose dosyasını içe aktarın; her servis kendi konteyner uygulaması olur — web uygulaması, arka plan işçisi, zamanlayıcı. O compose dosyasındaki veritabanları ve Redis ise bakımını üstlenmeniz gereken konteynerler yerine yönetilen eklentilere dönüştürülür.
Arka plan işleri ve cron nasıl çalışıyor?
İşçi, HTTP portu olmayan başka bir konteyner uygulamasıdır. Zamanlanmış işler için jobs var: uygulamanızdaki bir yolu çağıran bir cron ifadesi — ayrı bir zamanlayıcı süreci çalıştırmanız gerekmez.
CDN dahil mi, ayrı mı?
Dahil. Uygulamanız ilk deploy'dan itibaren edge ağımızın arkasındadır — önbellekleme, sıkıştırma, otomatik WebP/AVIF, WAF, DDoS koruması ve SSL, hepsi aylık $9'dan başlayan aynı planda.