Files
neta/docs/06-vercel-deploy.md
T
Poyraz 72a0b38f3e 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.
2026-06-16 09:57:32 +03:00

129 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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.