mejora en el modelo de traduccion
This commit is contained in:
parent
be56de7dd4
commit
ecd7a3cdf8
21 changed files with 3708 additions and 322 deletions
220
README_DEPLOY.md
Normal file
220
README_DEPLOY.md
Normal file
|
|
@ -0,0 +1,220 @@
|
|||
# 🚀 Despliegue RSS2 - 3 Comandos Simples
|
||||
|
||||
## ⚡ Flujo Rápido (3 pasos)
|
||||
|
||||
```bash
|
||||
# 1. Generar credenciales seguras
|
||||
./generate_secure_credentials.sh --force
|
||||
|
||||
# 2. Desplegar
|
||||
docker compose up -d
|
||||
|
||||
# 3. Verificar
|
||||
docker compose ps
|
||||
```
|
||||
|
||||
**¡Listo!** La aplicación estará disponible en `http://localhost:8888`
|
||||
|
||||
---
|
||||
|
||||
## 🔐 ¿Por qué 3 pasos?
|
||||
|
||||
**Problema original:**
|
||||
```bash
|
||||
docker compose up -d
|
||||
WARN: DB_PASS no definida → Contraseña vacía → ¡Inseguro!
|
||||
```
|
||||
|
||||
**Solución:**
|
||||
1. `./generate_secure_credentials.sh --force` → Crea `.env` con contraseñas de 32 caracteres
|
||||
2. `docker compose up -d` → Docker carga `.env` automáticamente
|
||||
3. `docker compose ps` → Verifica que todo esté bien
|
||||
|
||||
---
|
||||
|
||||
## 📋 Qué hace cada comando
|
||||
|
||||
### 1. `./generate_secure_credentials.sh --force`
|
||||
|
||||
- Crea contraseñas seguras de 32 caracteres aleatorios
|
||||
- Genera archivo `.env` con todas las variables necesarias
|
||||
- Guarda backup del `.env` anterior
|
||||
- **Tiempo: 5 segundos**
|
||||
|
||||
**Salida:**
|
||||
```
|
||||
POSTGRES_PASSWORD: S5xwsI9HKjdaBWLpCkqp0mA0DJYZerpD
|
||||
REDIS_PASSWORD: cVF79QuJulPO5auEhA2nNqv7mqAruzYh
|
||||
SECRET_KEY: 2eb7c221245bb8d896f83255188de614e59fae6b8dfbf16eee8a23c60dde4ffa
|
||||
GRAFANA_PASSWORD: R4J61V6OGLTCesrITwEvUPTm
|
||||
```
|
||||
|
||||
### 2. `docker compose up -d`
|
||||
|
||||
- Lee `.env` automáticamente (está configurado en `docker-compose.yml`)
|
||||
- Inicia todos los servicios en modo detached (background)
|
||||
- Espera a que estén listos
|
||||
- **Tiempo: 2-5 minutos** (primera vez que descarga imágenes)
|
||||
|
||||
### 3. `docker compose ps`
|
||||
|
||||
- Muestra estado de todos los servicios
|
||||
- Deberías ver `Up` para todos
|
||||
- **Tiempo: 1 segundo**
|
||||
|
||||
**Salida esperada:**
|
||||
```
|
||||
Name Status
|
||||
rss2_db Up (healthy)
|
||||
rss2_redis Up (healthy)
|
||||
rss2_backend_go Up (running)
|
||||
rss2_nginx Up (running)
|
||||
...
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Comandos Útiles
|
||||
|
||||
### Verificar credenciales
|
||||
```bash
|
||||
grep -E "^(POSTGRES_PASSWORD|REDIS_PASSWORD|DB_PASS)=" .env
|
||||
```
|
||||
|
||||
### Ver logs en tiempo real
|
||||
```bash
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
### Reiniciar servicios
|
||||
```bash
|
||||
# Todos
|
||||
docker compose restart
|
||||
|
||||
# Solo base de datos
|
||||
docker compose restart db
|
||||
```
|
||||
|
||||
### Verificar estado
|
||||
```bash
|
||||
docker compose ps
|
||||
```
|
||||
|
||||
### Limpiar todo (PERDERÁS DATOS)
|
||||
```bash
|
||||
docker compose down -v
|
||||
```
|
||||
|
||||
### Escalar workers
|
||||
```bash
|
||||
# Más traductores CPU
|
||||
docker compose up -d --scale translator=3
|
||||
|
||||
# Más traductores GPU
|
||||
docker compose up -d --scale translator-gpu=2
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔒 Seguridad
|
||||
|
||||
### Contraseñas por defecto = PELIGRO ❌
|
||||
|
||||
```bash
|
||||
# MAL - Contraseñas vacías
|
||||
docker compose up -d
|
||||
WARN: DB_PASS no set
|
||||
# Las contraseñas están vacías
|
||||
```
|
||||
|
||||
### Contraseñas generadas = SEGURO ✅
|
||||
|
||||
```bash
|
||||
# BIEN
|
||||
./generate_secure_credentials.sh --force
|
||||
docker compose up -d
|
||||
# Contraseñas de 32 caracteres aleatorios
|
||||
```
|
||||
|
||||
### Guardar tus credenciales
|
||||
|
||||
**Opción 1: Gestor de contraseñas (Recomendado)**
|
||||
```bash
|
||||
# Copia las contraseñas que muestra el script
|
||||
# Guárdalas en: LastPass, 1Password, KeePass, Bitwarden
|
||||
```
|
||||
|
||||
**Opción 2: Archivo seguro local**
|
||||
```bash
|
||||
# Crea un archivo fuera del proyecto
|
||||
echo "POSTGRES_PASSWORD=..." > ~/rss2-credentials.txt
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📊 Estado de los Servicios
|
||||
|
||||
| Servicio | Puerto | Descripción |
|
||||
|----------|--------|-------------|
|
||||
| `nginx` | 8888 | Web app |
|
||||
| `backend-go` | 8080 | API |
|
||||
| `db` | 5432 | PostgreSQL |
|
||||
| `redis` | 6379 | Cache |
|
||||
| `qdrant` | 6333 | Vector DB |
|
||||
|
||||
**DASHBOARDS:**
|
||||
- Grafana: http://127.0.0.1:3001
|
||||
- Prometheus: http://127.0.0.1:9090
|
||||
|
||||
---
|
||||
|
||||
## 🐛 Solución de Problemas
|
||||
|
||||
### WARN sobre contraseñas vacías
|
||||
```bash
|
||||
# Solución: Generar credenciales
|
||||
./generate_secure_credentials.sh --force
|
||||
```
|
||||
|
||||
### Port 8888 en uso
|
||||
```bash
|
||||
# Cambiar puerto en nginx
|
||||
```
|
||||
|
||||
### Base de datos no inicia
|
||||
```bash
|
||||
# Ver logs
|
||||
docker compose logs db
|
||||
|
||||
# Reiniciar
|
||||
docker compose restart db
|
||||
```
|
||||
|
||||
### Redis autenticación fallida
|
||||
```bash
|
||||
# Ver REDIS_PASSWORD
|
||||
grep REDIS_PASSWORD .env
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✅ Checklist Final
|
||||
|
||||
Antes de considerar tu despliegue listo:
|
||||
|
||||
- [ ] `.env` tiene contraseñas generadas (no por defecto)
|
||||
- [ ] `docker compose ps` muestra todos "Up"
|
||||
- [ ] `http://localhost:8888` abre la app
|
||||
- [ ] `curl http://localhost:8888/api/health` responde
|
||||
|
||||
---
|
||||
|
||||
## 📚 Documentación
|
||||
|
||||
- [README.md](./README.md) - Documentación completa
|
||||
- [DEPLOY.md](./DEPLOY.md) - Guía detallada
|
||||
- [SECURITY_GUIDE.md](./SECURITY_GUIDE.md) - Seguridad
|
||||
|
||||
---
|
||||
|
||||
**RSS2** - *Transformando noticias en inteligencia con IA* 🚀
|
||||
Loading…
Add table
Add a link
Reference in a new issue