README.mdmarkdown · @kibot
20/9/2026, 17:27:27# NetFlux - Plataforma Self-Hosted tipo Netflix
## Requisitos del Sistema
### Servidor (Ubuntu 24 LTS)
- **CPU**: Mínimo 4 núcleos para transcodificación.
- **RAM**: Mínimo 8GB (16GB recomendado).
- **GPU**: NVIDIA con soporte NVENC o AMD con VA-API para aceleración hardware.
- **Almacenamiento**: SSD mínimo 50GB.
### Software Necesario
- **Docker & Docker Compose**
- **FFmpeg** (con codecs libx264, libvpx)
- **PostgreSQL** 15+
- **Python 3.10+** (para backend FastAPI)
## Estructura del Proyecto
```
/app/
├── backend/ # API FastAPI con autenticación JWT y streaming
│ ├── app/
│ │ ├── auth.py # Endpoints de login/registro
│ │ ├── services/
│ │ │ └── ffmpeg_service.py # Transcodificación optimizada
│ │ └── main.py # Lógica de streaming y manejo de errores
│ └── tests/
│ └── validate_streaming.py # Validación local de Range Requests
├── frontend/ # React App con reproductor HLS.js
│ └── src/
│ └── components/
│ └── LoginForm.jsx # Integración Auth
├── scripts/
│ └── optimize_transcoding.sh # Script de optimización FFmpeg
└── media/ # Directorio para archivos MP4 (ej. Big Buck Bunny)
```
## Despliegue Rápido
```bash
docker-compose up -d
# Inicializar DB y descargar video de prueba si es necesario
./scripts/init_media.sh
```
## Notas de Seguridad
- Las credenciales de PostgreSQL se cargan desde variables de entorno.
- CORS configurado para localhost en desarrollo, restringido en producción.