- Introduced "Kurulum Modları" to explain full-stack and app-only installation options. - Created detailed guides for "Full-Stack Kurulum", "Coolify Kurulumu", "Dokploy Kurulumu", and "App-Only Kurulum". - Documented the process for creating the first admin account and the registration lock mechanism. - Added operational guidelines covering health checks, backups, restores, and logging. - Explained environment variables used in Neta installations and their significance. - Provided troubleshooting tips for common issues encountered during setup and operation. - Outlined security measures and limitations of the MVP self-host model.
3.3 KiB
title, description, order
| title | description | order |
|---|---|---|
| Coolify Kurulumu | Neta'yı Coolify üzerinde full-stack olarak yayınlama. | 6 |
Coolify Kurulumu
Coolify, Neta'yı self-host etmek için uygun bir platformdur. Önerilen yöntem, docker-compose.full.yml dosyasını kullanarak full-stack kurulum yapmaktır.
Kurulum Modeli
Coolify üzerinde önerilen model:
Full-stack Neta kurulumu
Bu modelde Neta ile birlikte PostgreSQL, Auth, PostgREST, Storage ve proxy servisleri de aynı Compose uygulamasında çalışır.
Repository Bağlama
Coolify içinde yeni bir proje oluştur ve Neta repository'sini bağla.
Compose dosyası olarak:
docker-compose.full.yml
seçilmelidir.
Environment Değerlerini Üret
Lokal ortamda veya sunucuda şu komutu çalıştır:
node scripts/generate-full-stack-env.mjs
Komutun ürettiği değerleri Coolify environment paneline ekle.
En önemli değerler:
NEXT_PUBLIC_SITE_URLNEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEYJWT_SECRETPOSTGRES_PASSWORDNETA_PORTSUPABASE_API_PORTPOSTGRES_PORT
Domain Ayarları
Neta uygulaması için domain:
neta-web:3000
servisine yönlendirilmelidir.
Supabase API için ayrı domain kullanacaksan:
neta-supabase-proxy:8000
servisine yönlendirilmelidir.
Örnek yapı:
https://app.example.com -> neta-web:3000
https://api.example.com -> neta-supabase-proxy:8000
Bu durumda environment değerleri şöyle olmalıdır:
NEXT_PUBLIC_SITE_URL=https://app.example.com
NEXT_PUBLIC_SUPABASE_URL=https://api.example.com
Tek Domain Kullanımı
Coolify üzerinde en temiz yapı ayrı API domain kullanmaktır. Tek domain altında path-based routing yapılacaksa proxy kuralları dikkatli ayarlanmalıdır.
MVP için önerilen pratik yaklaşım:
- Bir domain Neta uygulaması için
- Bir subdomain Supabase API için
Deploy
Environment değerleri eklendikten sonra deploy başlatılır.
Deploy sırasında:
- Web uygulaması build edilir.
- Veritabanı başlatılır.
- Supabase Auth kendi migrationlarını uygular.
- Neta migrationları
neta-migrationsservisi ile çalışır. - Web uygulaması proxy ve migration tamamlanmadan başlamaz.
İlk Kontrol Listesi
Deploy sonrası şunları kontrol et:
neta-dbhealthy durumda mı?neta-supabase-proxyhealthy durumda mı?neta-webhealthy durumda mı?neta-migrationsbaşarıyla tamamlandı mı?/registersayfası ilk admin için açılıyor mu?- İlk admin oluşturulduktan sonra
/registerkapanıyor mu?
Sık Yapılan Hatalar
Yanlış Compose Dosyası
Full-stack self-host için docker-compose.full.yml kullanılmalıdır. Sadece docker-compose.yml kullanılırsa uygulama harici Supabase bekler.
Eksik Environment
Coolify panelinde zorunlu env değerleri eksikse Compose build veya runtime sırasında hata verir.
Yanlış Public URL
NEXT_PUBLIC_SITE_URL ve NEXT_PUBLIC_SUPABASE_URL gerçek public domainlerle uyumlu olmalıdır. Localhost değerleri production domaininde kullanılmamalıdır.
Supabase API Domaini Yayınlanmadı
Tarayıcı Auth ve REST çağrıları için NEXT_PUBLIC_SUPABASE_URL değerine erişebilmelidir. Bu URL dışarıdan erişilemiyorsa login ve kayıt işlemleri çalışmaz.