Files
neta/content/06-coolify-kurulum.md
T
Poyraz Avsever 03b03d253d Add comprehensive installation and operational documentation for Neta
- 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.
2026-06-14 11:12:52 +03:00

3.3 KiB
Raw Blame History

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_URL
  • NEXT_PUBLIC_SUPABASE_URL
  • NEXT_PUBLIC_SUPABASE_ANON_KEY
  • SUPABASE_SERVICE_ROLE_KEY
  • JWT_SECRET
  • POSTGRES_PASSWORD
  • NETA_PORT
  • SUPABASE_API_PORT
  • POSTGRES_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-migrations servisi ile çalışır.
  • Web uygulaması proxy ve migration tamamlanmadan başlamaz.

İlk Kontrol Listesi

Deploy sonrası şunları kontrol et:

  • neta-db healthy durumda mı?
  • neta-supabase-proxy healthy durumda mı?
  • neta-web healthy durumda mı?
  • neta-migrations başarıyla tamamlandı mı?
  • /register sayfası ilk admin için açılıyor mu?
  • İlk admin oluşturulduktan sonra /register kapanı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.