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
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user