Dokploy Kurulumu
Dokploy üzerinde Neta'yı yayınlamak için önerilen yol full-stack Docker Compose kurulumudur. Bu kurulumda Neta, kendi PostgreSQL ve Supabase uyumlu servisleriyle birlikte çalışır.
Yeni Compose App Oluştur
Dokploy panelinde yeni bir Compose app oluştur.
Repository olarak Neta repository'sini seç ve Compose dosyası olarak şunu kullan:
docker-compose.full.ymlEnvironment Hazırlığı
Neta için gerekli env değerlerini üret:
node scripts/generate-full-stack-env.mjsÇıkan değerleri Dokploy environment bölümüne ekle.
Production için özellikle şu değerleri düzenle:
NEXT_PUBLIC_SITE_URL=https://app.example.com
NEXT_PUBLIC_SUPABASE_URL=https://api.example.comJWT_SECRET, POSTGRES_PASSWORD, NEXT_PUBLIC_SUPABASE_ANON_KEY ve SUPABASE_SERVICE_ROLE_KEY değerlerini gizli bilgi olarak sakla.
Servis Yönlendirmeleri
Neta web uygulaması:
neta-web:3000Bundled Supabase API:
neta-supabase-proxy:8000olarak yönlendirilmelidir.
Önerilen domain yapısı:
app.example.com -> neta-web:3000
api.example.com -> neta-supabase-proxy:8000Bu yapı, tarayıcı tarafındaki Auth, REST ve Storage çağrılarının doğru proxy'ye gitmesini sağlar.
Deploy Süreci
Dokploy deploy başlattığında:
1. neta-db başlar. 2. Supabase Auth kendi tablolarını hazırlar. 3. Storage ve PostgREST servisleri başlar. 4. neta-migrations Neta SQL dosyalarını uygular. 5. Proxy healthy olduktan sonra web uygulaması başlar.
Bu sıra Compose içindeki dependency kurallarıyla yönetilir.
İlk Admin Hesabı
Deploy tamamlandıktan sonra:
https://app.example.com/registersayfasını aç.
İlk kullanıcı oluşturulduktan sonra kayıt ekranı kapanır. Daha sonra giriş için:
https://app.example.com/loginsayfası kullanılır.
Dokploy Sonrası Kontrol
Şunları kontrol et:
- Web domaini açılıyor mu?
- API domaininde
/healthendpointi cevap veriyor mu? - İlk admin oluşturulabiliyor mu?
- Giriş yapılabiliyor mu?
- Dokploy servis loglarında migration hatası yok mu?
API health kontrolü örneği:
https://api.example.com/healthGüncelleme
Yeni sürüme geçmeden önce yedek al:
sh ./scripts/selfhost-backup.shArdından Dokploy üzerinden yeni deploy başlat.
Dikkat Edilmesi Gerekenler
docker-compose.ymldeğil, full-stack kurulum içindocker-compose.full.ymlkullanılmalıdır.NEXT_PUBLIC_SUPABASE_URLdışarıdan erişilebilir olmalıdır.- Service role key hiçbir zaman client tarafında paylaşılmamalıdır.
- PostgreSQL volume kalıcı olmalıdır.
- Storage volume kalıcı olmalıdır.
