- Deleted `pnpm-workspace.yaml` as it is no longer needed. - Removed `apply-migrations.sh` script that handled database migrations. - Eliminated `generate-full-stack-env.mjs` script for environment variable generation. - Deleted `selfhost-backup.sh` script for creating backups of the self-hosted environment. - Removed `selfhost-doctor.sh` script for health checks of the self-hosted services. - Deleted `selfhost-restore.sh` script for restoring backups in the self-hosted environment.
3.6 KiB
title, description, order
| title | description | order |
|---|---|---|
| Vercel ile Deploy | Neta'yı Vercel üzerinde yayınlama adımları. | 6 |
Vercel ile Deploy
Neta'yı Vercel üzerinde yayınlamak en sade yollardan biri. Çünkü proje standart bir Next.js uygulaması olarak çalışır. Dockerfile, Compose veya özel installer gerekmez.
Benim önerdiğim akış şu: Supabase projesini önce hazırlayın, sonra GitHub reposunu Vercel'e bağlayın.
Ön Hazırlık
Deploy'dan önce hazır olması gerekenler:
- GitHub üzerinde Neta reposu.
- Supabase projesi.
- Supabase tabloları, policy'leri, function'ları ve storage bucket'ları.
- Environment variable değerleri.
Gerekli env değerleri:
NEXT_PUBLIC_SITE_URL=https://your-domain.com
NEXT_PUBLIC_SUPABASE_URL=https://your-project-ref.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
Vercel'e Repo Bağlama
- Vercel dashboard'a girin.
Add New Projectseçin.- GitHub üzerinden Neta reposunu seçin.
- Framework olarak Next.js otomatik algılanır.
- Build ayarlarını varsayılan bırakabilirsiniz.
Vercel genelde şu komutları kendisi ayarlar:
npm install
npm run build
Start command girmeniz gerekmez. Vercel Next.js runtime'ını kendi yönetir.
Environment Variable Ekleme
Vercel proje ayarlarında şu bölüme girin:
Project Settings -> Environment Variables
Değerleri production, preview ve development ortamlarına ihtiyaca göre ekleyin.
Önemli not:
SUPABASE_SERVICE_ROLE_KEY server-only kalmalıdır. Vercel'de normal environment variable olarak eklemek yeterlidir. NEXT_PUBLIC_ prefix'i vermeyin.
Supabase Auth Ayarları
Supabase tarafında şu ayarlar production domain ile uyumlu olmalıdır:
Authentication -> URL Configuration
Önerilen değerler:
Site URL: https://your-domain.com
Redirect URLs:
https://your-domain.com/**
Eğer preview deployment kullanıyorsanız Vercel preview domainlerini de eklemek isteyebilirsiniz.
İlk Deploy Sonrası
Deploy tamamlandıktan sonra şu adımları izlerim:
- Uygulamayı production domain üzerinden açarım.
/api/healthendpoint'ini kontrol ederim./registersayfasından ilk admin hesabını oluştururum.- Login olurum.
- Dashboard açılıyor mu bakarım.
- Bir müşteri, proje ve görev ekleyerek Supabase bağlantısını test ederim.
- Profil fotoğrafı veya proje görseli upload ederek storage policy'lerini kontrol ederim.
İlk Admin
İlk admin hesabı /register üzerinden oluşturulur. İlk profil oluştuğu anda public kayıt akışı kapanır.
Bu davranış güvenlik için önemli. Neta kişisel self-host bir çalışma alanı olarak tasarlandığı için herkesin kayıt olup sisteme girmesini istemem.
Vercel'de Dikkat Edilecekler
Build Başarılı Ama Sayfa Veri Göstermiyor
Supabase env değerlerini kontrol edin. Yanlış Supabase projesine bağlanıyor olabilirsiniz.
Register Çalışmıyor
SUPABASE_SERVICE_ROLE_KEY eksik veya yanlış olabilir. Ayrıca request_internal_auth_creation RPC'si Supabase tarafında bulunmalıdır.
Storage Upload Hata Veriyor
Bucket adlarını ve storage policy'lerini kontrol edin:
avatarsproject-assets
AI Asistan Cevap Vermiyor
Uygulama içindeki Ayarlar ekranından AI provider ve API key kaydedilmelidir.
Vercel İçin Kısa Kontrol Listesi
- GitHub repo bağlandı.
- Next.js framework algılandı.
- Env variable'lar girildi.
- Supabase Auth URL ayarları yapıldı.
- Supabase schema ve RLS hazır.
- Storage bucket'ları oluşturuldu.
- İlk admin oluşturuldu.
- Dashboard veri yazıp okuyabiliyor.