Bu rehber, GitHub üzerinde bulunan mevcut bir Next.js projesini Skyversal'e taşıyarak birkaç dakika içinde production ortamına almak isteyen geliştiriciler için hazırlanmıştır.
"Neden Vercel, Railway veya VPS yerine Skyversal kullanmalıyım?" Next.js kullanan bir geliştiricinin aklındaki ilk soru budur. Daha fazla kontrol ve maliyet avantajı arayan Next.js geliştiricileri için ideal bir Vercel alternatifi olan Skyversal, Zero-Config deploy deneyimini korurken aynı zamanda uygulamanız üzerinde daha fazla kontrol sunar. Sunucu kurulumu, ters proxy (reverse proxy) yapılandırması veya süreç yönetimiyle uğraşmadan Next.js projelerinizi saniyeler içinde yayınlayabilir, ihtiyaç duyduğunuzda ise altyapınızı kendi ihtiyaçlarınıza göre özelleştirebilirsiniz.
1. Skyversal Next.js Projelerini Nasıl Algılar?
Skyversal, deponuzu bağladığınız anda proje yapısını analiz eder ve bunun bir Next.js uygulaması olduğunu otomatik olarak algılar.
App Router, Pages Router, Server Side Rendering (SSR), Static Site Generation (SSG), Middleware ve API Routes gibi Next.js'in temel özellikleri herhangi bir ek yapılandırmaya ihtiyaç duymadan desteklenir. Sunucu kurmanıza, Nginx yapılandırmanıza veya PM2 ile süreç yönetimi yapmanıza gerek kalmaz. Skyversal build ve çalışma ortamını sizin yerinize hazırlar.
2. Deploy Süreci
Arkaplanda nelerin çalıştığını bilmek geliştiriciye güven verir. Skyversal'de bir Next.js projesini canlıya alırken süreç şu adımlarla ilerler:
npm run build çalıştırılır.npm run start komutuyla node sunucusunda başlatılır.Deploy sürecinin her adımını projenizin Deploy Logs ekranından gerçek zamanlı olarak takip edebilirsiniz.
Production Standardı
Skyversal, Next.js tarafından önerilen production çalışma modelini kullanır. Development sunucusu (next dev) production ortamında hiçbir zaman çalıştırılmaz. Bunun yerine next build ile oluşturulan production çıktısı next start komutuyla çalıştırılır.
Optimum performans, daha az RAM tüketimi ve çok daha hızlı build süreleri için next.config.js dosyanıza output: 'standalone' eklemeyi unutmayın. Bu ayar, projenizin yalnızca çalışması için gereken dosyaları izole bir şekilde paketler.
3. Zero Config (Sıfır Ayar) Mantığı
Zero Config, projenizin çalışması için Build Command, Start Command veya Port gibi ayarları manuel olarak girmenizi gerektirmeyen dağıtım modelidir. Sadece "Deploy" butonuna basmanız yeterlidir.
Skyversal otomatik olarak neyi algılar?
Skyversal yalnızca Next.js'i algılamakla kalmaz. package-lock.json, yarn.lock, pnpm-lock.yaml veya bun.lockb dosyalarını da analiz ederek doğru paket yöneticisini otomatik olarak seçer.
Skyversal, Nixpacks tabanlı build sistemi sayesinde bağımlılıkları ve build katmanlarını önbelleğe alarak tekrar eden deploy işlemlerini önemli ölçüde hızlandırır.
4. Ne Zaman Özel Ayar Gerekir?
"Peki hiç mi ayar yapmayacağım?" dediğinizi duyar gibiyiz. Cevap: Çoğu zaman hayır, ancak bazı gelişmiş projelerde özel Build veya Run komutları gerekebilir.
Özel Ayar Gerektiren Senaryolar
- Monorepo yapıları
- Turborepo / Nx Workspace
- Özel Docker süreçleri
- Farklı çalışma dizinleri (Root Directory)
Bu gibi durumlarda projenizin Build & Run sekmesinden Root dizinini veya derleme komutlarını kolayca özelleştirebilirsiniz.
Build Komutları RehberiSkyversal Next.js Destek Durumu
| Özellik | Destek |
|---|---|
| App Router | ✅ |
| Pages Router | ✅ |
| API Routes | ✅ |
| Route Handlers | ✅ |
| Middleware | ✅ |
| Server Actions | ✅ |
| SSR | ✅ |
| SSG | ✅ |
| ISR | ✅ |
| next/image | ✅ |
| Standalone Output | ✅ |
| Edge Runtime | Yakında |
| Turbopack | Yakında |
Sıkça Sorulan Sorular
Node.js sürümünü değiştirebilir miyim?
package.json içindeki "engines": { "node": ">=20.0.0" } kısmından veya projenizdeki .nvmrc dosyasından Node.js sürümünüzü otomatik olarak okuyup ayarlar. Ayrıca dilerseniz Ayarlar > Build & Run menüsü üzerinden de spesifik bir sürümü manuel olarak seçebilirsiniz.
Görsel optimizasyonu (next/image) destekleniyor mu?
next/image bileşeninin görselleri sorunsuz optimize edebilmesi için projenize npm install sharp komutuyla sharp paketini eklediğinizden emin olun.
Environment Variables destekleniyor mu?
.env değişkenlerinizi Skyversal panelinden güvenle yönetebilir, istediğiniz zaman güncelleyebilirsiniz.
Özel domain bağlayabilir miyim?
Monorepo destekleniyor mu?
Deploy sonrası logları görebilir miyim?
Her Şey Hazır!
Next.js uygulamanız artık production ortamında çalışıyor.
Bir sonraki adım olarak ortam değişkenlerinizi ekleyebilir, özel alan adınızı bağlayabilir veya uygulamanızı Managed Database ile buluşturabilirsiniz.