✨ Características: - 45 ejercicios universitarios (Basic → Advanced) - Renderizado LaTeX profesional - IA generativa (Z.ai/DashScope) - Docker 9 servicios - Tests 123/123 pasando - Seguridad enterprise (JWT, XSS, Rate limiting) 🐳 Infraestructura: - Next.js 14 + Node.js 20 - PostgreSQL 15 + Redis 7 - Docker Compose completo - Nginx + SSL ready 📚 Documentación: - 5 informes técnicos completos - README profesional - Scripts de deployment automatizados Estado: Producción lista ✅
100 lines
3.2 KiB
Plaintext
100 lines
3.2 KiB
Plaintext
# ============================================
|
|
# PRODUCTION ENVIRONMENT CONFIGURATION
|
|
# ============================================
|
|
# Este archivo documenta TODAS las variables requeridas para producción.
|
|
# Copiar a .env.prod y configurar con valores reales ANTES del deployment.
|
|
# ============================================
|
|
|
|
# ============================================
|
|
# REQUERIDO: Versión de la imagen Docker
|
|
# ============================================
|
|
VERSION=1.0.0
|
|
|
|
# ============================================
|
|
# REQUERIDO: Database Configuration
|
|
# ============================================
|
|
DB_USER=mathuser
|
|
DB_PASSWORD=CHANGE_THIS_TO_STRONG_PASSWORD_32_CHARS_MIN
|
|
DB_NAME=mathdb
|
|
|
|
# ============================================
|
|
# REQUERIDO: Redis Configuration
|
|
# ============================================
|
|
REDIS_PASSWORD=CHANGE_THIS_REDIS_PASSWORD_32_CHARS_MIN
|
|
|
|
# ============================================
|
|
# REQUERIDO: AI/LLM Configuration (MiniMax-M2.5)
|
|
# ============================================
|
|
AI_API_BASE_URL=https://coding-intl.dashscope.aliyuncs.com/v1
|
|
AI_API_KEY=your-dashscope-api-key-here
|
|
AI_MODEL=MiniMax-M2.5
|
|
|
|
# ============================================
|
|
# REQUERIDO: Telegram Bot Configuration
|
|
# ============================================
|
|
TELEGRAM_BOT_TOKEN=your-telegram-bot-token-here
|
|
TELEGRAM_ADMIN_CHAT_ID=your-admin-chat-id-here
|
|
|
|
# ============================================
|
|
# REQUERIDO: JWT Configuration
|
|
# ============================================
|
|
JWT_SECRET=CHANGE_THIS_TO_VERY_STRONG_SECRET_64_CHARS_MINIMUM_LENGTH_HERE
|
|
JWT_EXPIRES_IN=15m
|
|
JWT_REFRESH_EXPIRES_IN=7d
|
|
|
|
# ============================================
|
|
# REQUERIDO: Application URLs
|
|
# ============================================
|
|
NEXT_PUBLIC_API_URL=/api
|
|
NEXT_PUBLIC_APP_NAME=Plataforma de Álgebra Lineal
|
|
CORS_ORIGIN=https://your-domain.com
|
|
|
|
# ============================================
|
|
# OPCIONAL: Rate Limiting Configuration
|
|
# ============================================
|
|
AUTH_RATE_LIMIT_WINDOW_MS=900000
|
|
AUTH_RATE_LIMIT_MAX=20
|
|
RATE_LIMIT_WINDOW_MS=900000
|
|
RATE_LIMIT_MAX_REQUESTS=100
|
|
STRICT_RATE_LIMIT_MAX=5
|
|
|
|
# ============================================
|
|
# OPCIONAL: Logging Configuration
|
|
# ============================================
|
|
LOG_LEVEL=info
|
|
|
|
# ============================================
|
|
# OPCIONAL: File Upload Configuration
|
|
# ============================================
|
|
MAX_FILE_SIZE_MB=10
|
|
|
|
# ============================================
|
|
# OPCIONAL: Cache Configuration
|
|
# ============================================
|
|
CACHE_TTL_SECONDS=3600
|
|
ENABLE_CACHE=true
|
|
|
|
# ============================================
|
|
# OPCIONAL: Feature Flags
|
|
# ============================================
|
|
ENABLE_REGISTRATION=true
|
|
ENABLE_AI_GENERATION=true
|
|
ENABLE_PDF_PROCESSING=true
|
|
ENABLE_TELEGRAM_NOTIFICATIONS=true
|
|
ENABLE_RANKING_SYSTEM=true
|
|
ENABLE_ACHIEVEMENTS=true
|
|
MAINTENANCE_MODE=false
|
|
|
|
# ============================================
|
|
# OPCIONAL: Worker Configuration
|
|
# ============================================
|
|
WORKER_CONCURRENCY=3
|
|
WORKER_MAX_JOBS_PER_WORKER=10
|
|
|
|
# ============================================
|
|
# OPCIONAL: SSL/Domain Configuration
|
|
# ============================================
|
|
# Para Let's Encrypt SSL - cambiar a tu dominio real
|
|
DOMAIN=mathplatform.com
|
|
EMAIL=admin@mathplatform.com
|