|
|
||
|---|---|---|
| backend | ||
| frontend | ||
| .gitignore | ||
| DEPLOYMENT.md | ||
| DEPLOYMENT_SUMMARY.md | ||
| README.md | ||
| deploy.sh | ||
| hosting-backend.service | ||
README.md
🚀 Hosting Platform - Automated DNS & SSL Management
Modern, otomatik DNS ve SSL yönetim platformu. Cloudflare entegrasyonu ile domain'leri saniyeler içinde yapılandırın.
📋 Özellikler
🎯 Core Features
- ✅ Cloudflare Entegrasyonu: API token ile otomatik DNS yönetimi
- ✅ DNS Önizleme: Değişiklikleri uygulamadan önce görüntüleyin
- ✅ Otomatik SSL: Cloudflare SSL/TLS yapılandırması
- ✅ Load Balancer: Hash-based IP dağıtımı
- ✅ Modern UI: React + Vite ile hızlı ve responsive arayüz
- ✅ Auto-Deploy: Git push ile otomatik deployment
- ✅ PostgreSQL: Güvenilir veri saklama
- ✅ Redis: Hızlı cache ve session yönetimi
🆕 Yeni Özellikler (v2.0)
- ✨ CF Account Management: Admin panelden Cloudflare hesaplarını yönetin
- ✨ Encrypted Token Storage: API token'ları şifreli olarak saklama
- ✨ DNS Nameserver Checker: Gerçek zamanlı nameserver kontrolü
- ✨ Advanced Domain Setup: Gelişmiş domain kurulum sihirbazı
- ✨ CF Token Guide: Adım adım Cloudflare token oluşturma rehberi
- ✨ Nameserver Instructions: Kullanıcı dostu NS değiştirme talimatları
🏗️ Mimari
┌─────────────────────────────────────────────────────────┐
│ Cloudflare CDN │
│ (SSL/TLS + DDoS Protection) │
└─────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ Nginx Reverse Proxy │
│ (176.96.129.77 - Load Balancer) │
└─────────────────────────────────────────────────────────┘
│
┌──────────────┴──────────────┐
▼ ▼
┌───────────────┐ ┌───────────────┐
│ Frontend │ │ Backend │
│ React + Vite │ │ Flask API │
│ Port 3001 │ │ Port 5000 │
└───────────────┘ └───────────────┘
│
┌────────────────┴────────────────┐
▼ ▼
┌──────────────┐ ┌──────────────┐
│ PostgreSQL │ │ Redis │
│ Port 5432 │ │ Port 6379 │
└──────────────┘ └──────────────┘
🛠️ Teknolojiler
Backend
- Flask 3.0 - Modern Python web framework
- SQLAlchemy 2.0 - ORM
- PostgreSQL 16 - Database
- Redis 7.0 - Cache & Sessions
- Cloudflare API - DNS & SSL management
Frontend
- React 18 - UI library
- Vite - Build tool
- TailwindCSS - Styling
- Axios - HTTP client
DevOps
- Gitea - Git repository
- Nginx - Reverse proxy
- Supervisor - Process management
- Systemd - Service management
📦 Kurulum
Gereksinimler
- Ubuntu 22.04+
- Python 3.12+
- Node.js 18+
- PostgreSQL 16
- Redis 7.0
Backend Kurulumu
cd backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Environment variables
cp .env.example .env
# .env dosyasını düzenleyin
# Database migration
flask db upgrade
# Başlatma
python app/main.py
Frontend Kurulumu
cd frontend
npm install
npm run dev
🔧 Yapılandırma
Environment Variables
# Database
DATABASE_URL=postgresql://user:pass@localhost:5432/hosting_db
# Redis
REDIS_URL=redis://localhost:6379/0
# API
API_HOST=0.0.0.0
API_PORT=5000
# Load Balancer IPs
LB_IPS=176.96.129.77,176.96.129.78,176.96.129.79
# Secret
SECRET_KEY=your-secret-key-here
🚀 API Endpoints
Health Check
GET /health
DNS Management
POST /api/dns/validate-token
POST /api/dns/preview-changes
POST /api/dns/apply-changes
POST /api/dns/check-nameservers # 🆕 Nameserver kontrolü
Domain Management
GET /api/domains
GET /api/domains/<id>
POST /api/domains
PUT /api/domains/<id>
DELETE /api/domains/<id>
Admin Endpoints (🆕)
GET /api/admin/cf-accounts # CF hesaplarını listele
POST /api/admin/cf-accounts # Yeni CF hesabı ekle
PUT /api/admin/cf-accounts/<id> # CF hesabını güncelle
DELETE /api/admin/cf-accounts/<id> # CF hesabını sil
📝 Lisans
MIT License - Detaylar için LICENSE dosyasına bakın.
👨💻 Geliştirici
Hosting Platform Team
🚀 Deployment
Otomatik Deployment
./deploy.sh
Bu script:
- ✅ Gitea'dan son kodu çeker
- ✅ Backend dependencies yükler
- ✅ Database migration yapar
- ✅ Frontend build eder
- ✅ Servisleri restart eder
- ✅ Health check yapar
Manuel Deployment
# SSH ile sunucuya bağlan
ssh root@176.96.129.77
# Proje dizinine git
cd /opt/hosting-platform
# Git pull
git pull origin main
# Backend güncelle
cd backend
source venv/bin/activate
pip install -r requirements.txt
python -c "from app.main import app, db; app.app_context().push(); db.create_all()"
# Frontend build
cd ../frontend
npm install
npm run build
# Servisleri restart et
supervisorctl restart hosting-backend hosting-frontend
Servis Yönetimi
# Servis durumu
supervisorctl status
# Logları izle
tail -f /var/log/hosting-backend.log
# Servisleri restart et
supervisorctl restart hosting-backend hosting-frontend