f3604d96b8
.gitignore'da '.env*' pattern'i .env.example'ı da engelliyordu. '!.env.example' ile istisna eklendi — .env.local hala gizli kalıyor. .env.example temizlendi — sadece gerçek kullanılan 4 değişken: - NEXT_PUBLIC_APPWRITE_ENDPOINT - NEXT_PUBLIC_APPWRITE_PROJECT_ID - NEXT_PUBLIC_APPWRITE_DATABASE_ID - NEXT_PUBLIC_APPWRITE_MEDIA_BUCKET_ID APPWRITE_API_KEY opsiyonel (session-cookie tabanlı auth aktif). DEPLOY.md eklendi: - Coolify app oluşturma adımları - Environment variables tam liste - Build sonrası kontroller - Gitea webhook bilgisi - Domain yönlendirme (3 seçenek) - Production checklist
2.8 KiB
2.8 KiB
Deployment Rehberi — Coolify
Önkoşullar
-
Coolify'da yeni bir Application oluştur:
- Source: Git →
ssh://git.kovaksoft.com:2222/kovakmedya/kovakyazilim.git - Branch:
main - Build Pack: Nixpacks (otomatik Next.js algılar) veya Dockerfile yoksa Nixpacks
- Domain: örn.
kovakyazilim.comveyayeni.kovakyazilim.com - Port:
3000
- Source: Git →
-
Build & Start command'ları:
- Install:
npm ci - Build:
npm run build - Start:
npm start
- Install:
Environment Variables (Coolify > Environment)
NEXT_PUBLIC_APPWRITE_ENDPOINT=https://db.kovaksoft.com/v1
NEXT_PUBLIC_APPWRITE_PROJECT_ID=69f27b51000a5bee46ce
NEXT_PUBLIC_APPWRITE_DATABASE_ID=kovak-yazilim-db
NEXT_PUBLIC_APPWRITE_MEDIA_BUCKET_ID=kovak-yazilim-media
APPWRITE_API_KEYşu anda kullanılmıyor — mimari session cookie tabanlı. İleride cron/scheduled job eklersen Appwrite Console'dan key oluştur.
Build sonrası kontroller
- Site yükleniyor mu? →
https://[domain]/ - Admin login çalışıyor mu? →
https://[domain]/admin/login- İlk admin kullanıcısını Appwrite Console > Auth > Users üzerinden oluştur
- Cookie banner çıkıyor mu? → Anasayfa açıldığında 800ms sonra
- WhatsApp float + sticky mobil bar görünüyor mu?
Gitea Webhook
Coolify, Gitea'dan push webhook'unu otomatik yapılandırır:
- URL (Gitea > Settings > Webhooks):
https://admin.kovaksoft.com/webhooks/source/gitea/events/manual - Event:
push - Branch filter:
main
Her git push origin main Coolify'da otomatik build + deploy tetikler.
Domain yönlendirmesi
Mevcut WP sitesi kovakyazilim.com'da. Geçiş seçenekleri:
| Yaklaşım | Açıklama |
|---|---|
| A. Tek seferlik geçiş | DNS kaydını Coolify'a yönlendir. WP yedeğini al, sonra kapat. |
| B. Test subdomain'i | yeni.kovakyazilim.com ile Next.js'i yayınla, test et, ardından ana domain'i değiştir. |
| C. Hibrit | Eski WP eski.kovakyazilim.com'a taşı, ana domain'de Next.js. |
Önerilen: B — test ortamında doğrula, sonra geçiş.
Production'a alma checklist
- Coolify'da app oluşturuldu, ENV'ler girildi
- İlk build başarılı (
npm run build39 route üretmeli) - Appwrite Console'da admin user oluşturuldu
/admin/loginçalışıyor- Anasayfa, hizmetler, projeler, iletişim formu sınanmış
- WhatsApp + telefon CTA çalışıyor
- Cookie banner görünüyor
- SSL aktif (Coolify Let's Encrypt otomatik)
- WP yedeği alındı (ihtiyaç olursa)
- DNS yönlendirildi
Sonradan eklenecekler
- GTM ID:
/admin/seoüzerindengtm_idalanına gir → Consent Mode v2 ile uyumlu otomatik yüklenir - Müşteri logoları:
/admin/site→ "Müşteri logoları" alanına URL ekle - Blog yazıları, projeler, ekip fotoları:
/admin/*üzerinden