4.3 KiB
4.3 KiB
🚀 Despliegue RSS2 - 3 Comandos Simples
⚡ Flujo Rápido (3 pasos)
# 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:
docker compose up -d
WARN: DB_PASS no definida → Contraseña vacía → ¡Inseguro!
Solución:
./generate_secure_credentials.sh --force→ Crea.envcon contraseñas de 32 caracteresdocker compose up -d→ Docker carga.envautomáticamentedocker 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
.envcon todas las variables necesarias - Guarda backup del
.envanterior - Tiempo: 5 segundos
Salida:
POSTGRES_PASSWORD: S5xwsI9HKjdaBWLpCkqp0mA0DJYZerpD
REDIS_PASSWORD: cVF79QuJulPO5auEhA2nNqv7mqAruzYh
SECRET_KEY: 2eb7c221245bb8d896f83255188de614e59fae6b8dfbf16eee8a23c60dde4ffa
GRAFANA_PASSWORD: R4J61V6OGLTCesrITwEvUPTm
2. docker compose up -d
- Lee
.envautomáticamente (está configurado endocker-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
Uppara 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
grep -E "^(POSTGRES_PASSWORD|REDIS_PASSWORD|DB_PASS)=" .env
Ver logs en tiempo real
docker compose logs -f
Reiniciar servicios
# Todos
docker compose restart
# Solo base de datos
docker compose restart db
Verificar estado
docker compose ps
Limpiar todo (PERDERÁS DATOS)
docker compose down -v
Escalar workers
# 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 ❌
# 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 ✅
# 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)
# Copia las contraseñas que muestra el script
# Guárdalas en: LastPass, 1Password, KeePass, Bitwarden
Opción 2: Archivo seguro local
# 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
# Solución: Generar credenciales
./generate_secure_credentials.sh --force
Port 8888 en uso
# Cambiar puerto en nginx
Base de datos no inicia
# Ver logs
docker compose logs db
# Reiniciar
docker compose restart db
Redis autenticación fallida
# Ver REDIS_PASSWORD
grep REDIS_PASSWORD .env
✅ Checklist Final
Antes de considerar tu despliegue listo:
.envtiene contraseñas generadas (no por defecto)docker compose psmuestra todos "Up"http://localhost:8888abre la appcurl http://localhost:8888/api/healthresponde
📚 Documentación
- README.md - Documentación completa
- DEPLOY.md - Guía detallada
- SECURITY_GUIDE.md - Seguridad
RSS2 - Transformando noticias en inteligencia con IA 🚀