rss2/README_DEPLOY.md

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:

  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

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:


🐛 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:

  • .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


RSS2 - Transformando noticias en inteligencia con IA 🚀