156 lines
4.6 KiB
Markdown
156 lines
4.6 KiB
Markdown
|
|
# 🚀 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
|
|||
|
|
|
|||
|
|
- ✅ **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
|
|||
|
|
|
|||
|
|
## 🏗️ 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
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
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
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cd frontend
|
|||
|
|
npm install
|
|||
|
|
npm run dev
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 🔧 Yapılandırma
|
|||
|
|
|
|||
|
|
### Environment Variables
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 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
|
|||
|
|
```bash
|
|||
|
|
GET /health
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### DNS Management
|
|||
|
|
```bash
|
|||
|
|
POST /api/dns/validate-token
|
|||
|
|
POST /api/dns/preview-changes
|
|||
|
|
POST /api/dns/apply-changes
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Domain Management
|
|||
|
|
```bash
|
|||
|
|
GET /api/domains
|
|||
|
|
GET /api/domains/<id>
|
|||
|
|
POST /api/domains
|
|||
|
|
PUT /api/domains/<id>
|
|||
|
|
DELETE /api/domains/<id>
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 📝 Lisans
|
|||
|
|
|
|||
|
|
MIT License - Detaylar için LICENSE dosyasına bakın.
|
|||
|
|
|
|||
|
|
## 👨💻 Geliştirici
|
|||
|
|
|
|||
|
|
Hosting Platform Team
|
|||
|
|
|