Custom Domains & Subdomains - Nasıl Yapılır?
Custom Domains & Subdomains - Nasıl Yapılır?
RepoDocs için iki tür custom domain desteği:
- Subdomain:
proje.repodocs.dev - Custom Domain:
docs.example.com
1. Subdomain Desteği (proje.repodocs.dev)
A. DNS Ayarları (Cloudflare/DNS Provider)
Bu wildcard DNS kaydı *.repodocs.dev → sunucu IP'sine yönlendirir.
B. Easypanel SSL Ayarları
Easypanel'de wildcard SSL için Let's Encrypt DNS challenge gerekiyor:
- Easypanel → Settings → SSL
- Wildcard certificate için Cloudflare API token gerekli
- Ya da Caddy/Traefik ile manuel wildcard SSL
Alternatif (Daha Kolay): Cloudflare Proxy kullanarak SSL Cloudflare'dan gelir.
C. Kod Değişiklikleri
middleware.ts (Yeni dosya)
2. Custom Domain Desteği (docs.example.com)
A. Database Şeması (Zaten var)
B. Kullanıcı Tarafı (DNS Ayarı)
Kullanıcı kendi DNS'inde:
C. Easypanel'de Domain Ekleme
Her custom domain için Easypanel'de domain eklenmeli. İki yöntem var:
Otomatik (Easypanel API ile)
Environment variables ayarlandığında domain otomatik eklenir:
API token almak için: Easypanel → Settings → API Tokens
Manuel
- Easypanel → App → Domains
- "Add Domain" →
docs.example.com - SSL otomatik alınır (Let's Encrypt)
D. Middleware Güncellemesi
E. Domain Doğrulama API
3. Uygulama Adımları (Sıralı)
Aşama 1: Subdomain (Kolay)
- Cloudflare'da
*.repodocs.devA kaydı ekle - Cloudflare Proxy aç (SSL için)
-
middleware.tsoluştur - Test:
test.repodocs.dev→repodocs.dev/docs/test/main
Aşama 2: Custom Domain (Orta)
- Settings sayfasına "Custom Domain" input ekle
- Domain kaydetme API'si
- DNS doğrulama endpoint'i
- Middleware'e custom domain routing ekle
- Easypanel API entegrasyonu (opsiyonel)
4. Easypanel Wildcard SSL (Detaylı)
Easypanel Caddy kullanıyor. Wildcard SSL için:
Seçenek A: Cloudflare Proxy (Önerilen)
- Cloudflare'da domain ekle
- SSL/TLS → Full (Strict)
- Wildcard DNS kaydı ekle
- Proxy: ON
SSL Cloudflare'dan gelir, Easypanel'de sadece HTTP yeterli.
Seçenek B: Let's Encrypt DNS Challenge
Easypanel → Settings → SSL Provider ayarlarında Cloudflare API token gerekli.
5. Örnek Akış
Subdomain
Custom Domain
6. Öncelik Sırası
- Hemen yapılabilir: Subdomain desteği (sadece DNS + middleware)
- Sonra: Custom domain (UI + API + doğrulama gerekli)
Subdomain ile başlayalım mı?