Kurulum Modları
Neta iki farklı kurulum modeli destekler. Doğru modeli seçmek, migration, environment ve veri konumu açısından önemlidir.
Full-Stack Kurulum
Full-stack kurulumda Neta ile birlikte gerekli backend servisleri de aynı sunucuda çalışır.
Bu mod şunları içerir:
- Neta web uygulaması
- PostgreSQL
- Supabase Auth
- PostgREST
- Supabase Storage
- Nginx proxy
- Otomatik migration runner
Bu modda harici Supabase hesabına gerek yoktur. İlk MVP için önerilen self-host yolu budur.
App-Only Kurulum
App-only kurulumda sadece Neta uygulaması çalışır. Veritabanı, Auth, Storage ve API servisleri mevcut bir Supabase projesinden veya Supabase uyumlu bir backend'den sağlanır.
Bu mod şu durumlarda uygundur:
- Zaten aktif bir Supabase projen varsa
- Veritabanını managed servis olarak kullanmak istiyorsan
- Sadece Neta arayüzünü kendi sunucunda yayınlamak istiyorsan
Bu modda migration dosyalarını bağlandığın Supabase projesinin veritabanında manuel çalıştırman gerekir.
Hangi Mod Seçilmeli?
Çoğu self-host kullanıcısı için önerilen seçenek:
Full-stack kurulumÇünkü bu mod:
- Harici servis gerektirmez.
- Migration işlemlerini otomatik yapar.
- Coolify ve Dokploy gibi araçlarda tek Compose dosyasıyla çalışır.
- Veriyi aynı sunucuda tutar.
App-only mod ise daha ileri kullanıcılar veya mevcut Supabase altyapısını kullanmak isteyenler için uygundur.
.env ve .env.local Ayrımı
Bu ayrım kurulum hatalarının en sık sebebidir.
Docker Compose kurulumlarında .env dosyası kullanılır.
node scripts/generate-full-stack-env.mjs > .env
docker compose -f docker-compose.full.yml up -d --buildLokal Next.js geliştirme sırasında ise Next.js .env.local dosyasını okur.
pnpm devEğer .env.local hosted Supabase projesine bakıyorsa, lokal geliştirme ortamında self-host Docker veritabanına değil hosted Supabase'e bağlanırsın.
Migration Nerede Çalışır?
Full-stack modda:
- Migration işlemleri
neta-migrationsservisi tarafından otomatik yapılır. - Kullanıcının SQL dosyalarını manuel çalıştırması gerekmez.
App-only modda:
- Migration dosyaları mevcut Supabase projesinde çalıştırılmalıdır.
- Uygulamanın bağlandığı
NEXT_PUBLIC_SUPABASE_URLhangi projeyi gösteriyorsa, migration da o projenin veritabanında olmalıdır.
Coolify ve Dokploy İçin Öneri
Coolify ve Dokploy gibi araçlarda en pratik yöntem:
- Compose dosyası olarak
docker-compose.full.ymlseçmek - Generated environment değerlerini panelde tanımlamak
- Neta domainini
neta-web:3000servisine yönlendirmek - Supabase API gerekiyorsa
neta-supabase-proxy:8000servisini ayrıca yayınlamak
Bu yapı, kullanıcıya harici Supabase hesabı gerektirmeden tam self-host deneyimi sağlar.
