# Deployment Rehberi — Coolify ## Önkoşullar 1. 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.com` veya `yeni.kovakyazilim.com` - Port: `3000` 2. Build & Start command'ları: - Install: `npm ci` - Build: `npm run build` - Start: `npm start` ## Environment Variables (Coolify > Environment) ```env 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 1. Site yükleniyor mu? → `https://[domain]/` 2. Admin login çalışıyor mu? → `https://[domain]/admin/login` - İlk admin kullanıcısını **Appwrite Console > Auth > Users** üzerinden oluştur 3. Cookie banner çıkıyor mu? → Anasayfa açıldığında 800ms sonra 4. 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 build` 39 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` üzerinden `gtm_id` alanı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