Remove obsolete scripts and configuration files for self-hosting and database migrations
- 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.
This commit is contained in:
@@ -0,0 +1,128 @@
|
||||
---
|
||||
title: Vercel ile Deploy
|
||||
description: Neta'yı Vercel üzerinde yayınlama adımları.
|
||||
order: 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:
|
||||
|
||||
```env
|
||||
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
|
||||
|
||||
1. Vercel dashboard'a girin.
|
||||
2. `Add New Project` seçin.
|
||||
3. GitHub üzerinden Neta reposunu seçin.
|
||||
4. Framework olarak Next.js otomatik algılanır.
|
||||
5. Build ayarlarını varsayılan bırakabilirsiniz.
|
||||
|
||||
Vercel genelde şu komutları kendisi ayarlar:
|
||||
|
||||
```bash
|
||||
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:
|
||||
|
||||
```txt
|
||||
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:
|
||||
|
||||
```txt
|
||||
Authentication -> URL Configuration
|
||||
```
|
||||
|
||||
Önerilen değerler:
|
||||
|
||||
```txt
|
||||
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:
|
||||
|
||||
1. Uygulamayı production domain üzerinden açarım.
|
||||
2. `/api/health` endpoint'ini kontrol ederim.
|
||||
3. `/register` sayfasından ilk admin hesabını oluştururum.
|
||||
4. Login olurum.
|
||||
5. Dashboard açılıyor mu bakarım.
|
||||
6. Bir müşteri, proje ve görev ekleyerek Supabase bağlantısını test ederim.
|
||||
7. 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:
|
||||
|
||||
- `avatars`
|
||||
- `project-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.
|
||||
Reference in New Issue
Block a user