Files
kovakyazilim/DEPLOY.md
T
Ege Can Komur f3604d96b8 docs: production env example + Coolify deploy rehberi
.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
2026-05-20 19:53:38 +03:00

75 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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