hosting-platform/README.md

164 lines
4.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.

# 🚀 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
---
## 🔄 Auto-Deploy
Bu proje otomatik deployment sistemi ile yapılandırılmıştır. `main` branch'e yapılan her push otomatik olarak sunucuya deploy edilir.
**Webhook URL**: `http://176.96.129.77:5000/webhook/deploy`