- FASE-0: Diagnostic audit of 500+ files, 33 findings cataloged (7P0/8P1/12P2/6P3) - FASE-1: Resolved 7 P0 critical conflicts (ports, paths, dedup OQI-010/ADR-002, orphan schemas) - FASE-2: Resolved 8 P1 issues (traces, README/CLAUDE.md, DEPENDENCY-GRAPH v2.0, DDL drift, stack versions, DoR/DoD) - FASE-3: Resolved 12 P2 issues (archived tasks indexed, RNFs created, OQI-010 US/RF/ET, AGENTS v2.0) - FASE-4: Purged 3 obsolete docs to _archive/, fixed MODELO-NEGOCIO.md broken ref - FASE-5: Cross-layer validation (DDL→OQI 66%, OQI→BE 72%, BE→FE 78%, Inventories 95%) - FASE-6: INFORME-FINAL, SA-INDEX (18 subagents), METADATA COMPLETED 27/33 findings resolved (82%), 6 P3 deferred to backlog. 18 new files created, 40+ modified, 4 archived. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
11 KiB
| id | title | type | project | version | updated_date |
|---|---|---|---|---|---|
| PUERTOS-SERVICIOS | PUERTOS DE SERVICIOS - TRADING PLATFORM | Documentation | trading-platform | 1.0.0 | 2026-02-06 |
PUERTOS DE SERVICIOS - TRADING PLATFORM
Documento: Asignación de Puertos para Desarrollo y Producción Proyecto: Trading Platform Fecha: 2025-12-05 Estado: Activo
ÍNDICE
- Resumen Ejecutivo
- Tabla de Puertos
- Servicios Detallados
- Configuración por Entorno
- Verificación de Puertos
- Troubleshooting
RESUMEN EJECUTIVO
Este documento centraliza la asignación de puertos para todos los servicios del proyecto Trading Platform. Los puertos están organizados por bloques funcionales para facilitar la gestión de firewall y evitar conflictos.
Principios de Asignación
- Rango 3100-3199: Servicios de Frontend (React/Vite)
- Rango 4000-4099: Servicios Backend (Node.js/Express)
- Rango 5000-5099: Servicios Python (FastAPI/AsyncIO)
- Rango 5432-5433: PostgreSQL (principal y testing)
- Puerto 6379: Redis (estándar)
- Rango 8000-8099: CI/CD y herramientas externas
- Rango 9000-9099: Monitoreo (Prometheus, Grafana)
Archivo de Configuración Central
Todos los puertos están definidos en:
/home/isem/workspace/projects/trading-platform/.env.ports
TABLA DE PUERTOS
Servicios de Aplicación
| Servicio | Puerto | Protocolo | Estado | Descripción |
|---|---|---|---|---|
| Frontend Web | 3080 | HTTP | Activo | Aplicación React principal (Vite dev server) |
| Backend API | 3081 | HTTP | Activo | API REST principal (Express) |
| Backend WebSocket | 3082 | WS | Activo | WebSocket para real-time updates |
| ML Engine | 3083 | HTTP | Activo | API de predicciones (FastAPI) |
| Data Service | 3084 | TCP | Activo | Sincronización de datos de mercado |
| LLM Agent | 3085 | HTTP | Activo | Asistente inteligente (FastAPI) |
| Trading Agents | 3086 | HTTP | Activo | Trading bots (Python) |
| MCP Wallet | 3090 | HTTP | Activo | Wallet service |
| MCP Products | 3091 | HTTP | Activo | Products service |
| MCP VIP | 3092 | HTTP | Activo | VIP service |
| MCP Investment | 3093 | HTTP | Activo | Investment service |
| MCP Predictions | 3094 | HTTP | Activo | ML signals service |
| MCP Auth | 3095 | HTTP | Activo | Auth service |
Infraestructura
| Servicio | Puerto | Protocolo | Estado | Descripción |
|---|---|---|---|---|
| PostgreSQL | 5432 | TCP | Activo | Base de datos principal |
| PostgreSQL Test | 5433 | TCP | Dev | Instancia para testing |
| Redis | 6379 | TCP | Activo | Cache y message queues |
| MySQL (Legacy) | 3306 | TCP | Temporal | Solo para migración |
CI/CD y Monitoreo
| Servicio | Puerto | Protocolo | Estado | Descripción |
|---|---|---|---|---|
| Jenkins | 8080 | HTTP | Planeado | CI/CD pipeline |
| Jenkins Agent | 50000 | TCP | Planeado | Comunicación con agentes |
| Prometheus | 9090 | HTTP | Opcional | Métricas del sistema |
| Grafana | 3200 | HTTP | Opcional | Dashboards de monitoreo |
Herramientas de Desarrollo
| Servicio | Puerto | Protocolo | Estado | Descripción |
|---|---|---|---|---|
| PgAdmin | 5050 | HTTP | Opcional | Administración de PostgreSQL |
| Mailhog SMTP | 1025 | SMTP | Opcional | Testing de emails (SMTP) |
| Mailhog Web | 8025 | HTTP | Opcional | Testing de emails (Web UI) |
SERVICIOS DETALLADOS
Frontend Services
1. Frontend Web (React + Vite)
- Puerto:
3080 - Comando Dev:
npm run dev -- --port 3080 - URL:
http://localhost:3080 - Variables de Entorno:
VITE_API_URL=http://localhost:3081/api/v1 VITE_WS_URL=ws://localhost:3082
Backend Services
1. Backend API (Express)
- Puerto:
3081 - Archivo:
/apps/backend/src/index.ts - Comando:
npm run dev - Endpoints:
- API REST:
http://localhost:3081/api/v1 - Health:
http://localhost:3081/health - Docs:
http://localhost:3081/api/v1/docs
- API REST:
- Variables de Entorno:
PORT=3081 DB_PORT=5432 REDIS_PORT=6379 ML_ENGINE_URL=http://localhost:3083
2. WebSocket Server
- Puerto:
3082 - Protocolo: WebSocket (WS/WSS)
- Uso: Real-time charts, notifications, live prices
- Conexión:
ws://localhost:3082
Python Services
1. ML Engine (FastAPI)
- Puerto:
3083 - Archivo:
/apps/ml-engine/src/api/main.py - Comando:
uvicorn src.api.main:app --host 0.0.0.0 --port 3083 --reload - Endpoints:
- API Docs:
http://localhost:3083/docs - Health:
http://localhost:3083/health - Predictions:
http://localhost:3083/predict/range
- API Docs:
- Modelos Servidos:
- Range Predictor (ΔHigh/ΔLow)
- TP/SL Classifier
- Signal Generator
2. Data Service (Python AsyncIO)
- Puerto:
3084 - Archivo:
/apps/data-service/src/main.py - Comando:
python -m src.main - Funciones:
- Sync de datos de Polygon.io cada 5min
- Tracking de spreads desde MT4/MetaAPI
- Entrenamiento de modelos de ajuste de precios
- Variables de Entorno:
POLYGON_API_KEY=your_key METAAPI_TOKEN=your_token SYNC_INTERVAL_MINUTES=5
3. LLM Agent API
- Puerto:
3085 - Estado: Activo
- Función: Asistente inteligente con Claude/GPT
4. Trading Agents
- Puerto:
3086 - Estado: Activo
- Función: Trading bots (ATLAS, ORION, NOVA)
Infrastructure Services
1. PostgreSQL
- Puerto:
5432 - Estado: ACTIVO (No cambiar)
- Conexión:
postgresql://trading_user:password@localhost:5432/trading_data - Schemas:
users- Usuarios y autenticaciónmarket_data- Datos de mercadotrading- Señales y operacioneseducation- Contenido educativoinvestment- Cuentas de inversiónpayments- Suscripciones y pagosbroker_integration- Integración con brokers
2. Redis
- Puerto:
6379 - Estado: ACTIVO (No cambiar)
- Conexión:
redis://localhost:6379 - Uso:
- Session storage
- Cache de queries
- Message queues para jobs
- Rate limiting
CONFIGURACIÓN POR ENTORNO
Desarrollo Local
Crear archivo .env en la raíz del proyecto:
# Copiar plantilla de puertos
cp .env.ports .env.local
# Variables de entorno específicas
NODE_ENV=development
POSTGRES_PASSWORD=trading_dev_2025
JWT_ACCESS_SECRET=your-secret-min-32-chars
JWT_REFRESH_SECRET=your-secret-min-32-chars
STRIPE_SECRET_KEY=sk_test_...
POLYGON_API_KEY=your_polygon_key
Docker Compose
El archivo docker-compose.yml usa los mismos puertos:
# Iniciar todos los servicios
docker-compose up -d
# Iniciar con herramientas de desarrollo
docker-compose --profile dev-tools up -d
# Ver logs
docker-compose logs -f backend
# Detener
docker-compose down
Producción (Jenkins)
Jenkins usará los mismos puertos. Configurar en .env.production:
NODE_ENV=production
FRONTEND_WEB_PORT=3080
BACKEND_API_PORT=3081
BACKEND_WS_PORT=3082
ML_ENGINE_PORT=3083
DATA_SERVICE_PORT=3084
LLM_AGENT_PORT=3085
TRADING_AGENTS_PORT=3086
POSTGRES_PORT=5432
REDIS_PORT=6379
VERIFICACIÓN DE PUERTOS
Comandos Útiles
Listar puertos en uso
# Todos los puertos TCP/UDP en escucha
ss -tuln | grep LISTEN
# Específico de un puerto
ss -tuln | grep :3081
# Usando netstat (si está instalado)
netstat -tuln | grep LISTEN
Verificar servicio en puerto
# Verificar con curl
curl http://localhost:3081/health
# Verificar con telnet
telnet localhost 4000
# Verificar proceso usando puerto
lsof -i :3081
Matar proceso en puerto
# Encontrar PID
lsof -t -i :3081
# Matar proceso
kill -9 $(lsof -t -i :3081)
Script de Verificación
Crear /scripts/check-ports.sh:
#!/bin/bash
echo "=== Trading Platform Port Status ==="
echo ""
declare -A services=(
["Frontend Web"]="3080"
["Backend API"]="3081"
["Backend WS"]="3082"
["ML Engine"]="3083"
["Data Service"]="3084"
["LLM Agent"]="3085"
["Trading Agents"]="3086"
["PostgreSQL"]="5432"
["Redis"]="6379"
)
for service in "${!services[@]}"; do
port=${services[$service]}
if ss -tuln | grep -q ":$port "; then
echo "✓ $service (port $port) - RUNNING"
else
echo "✗ $service (port $port) - NOT RUNNING"
fi
done
Ejecutar:
chmod +x scripts/check-ports.sh
./scripts/check-ports.sh
TROUBLESHOOTING
Problema: Puerto ya en uso
Síntoma: Error EADDRINUSE o Address already in use
Solución:
# 1. Identificar proceso
lsof -i :3080
# 2. Matar proceso
kill -9 <PID>
# 3. Usar puerto alternativo temporalmente
PORT=3100 npm run dev
Problema: No se puede conectar al servicio
Verificar:
- Servicio está corriendo:
ss -tuln | grep :3081 - Firewall permite conexión:
sudo ufw status - Variables de entorno correctas:
echo $BACKEND_API_PORT - Logs del servicio:
docker-compose logs backend
Problema: CORS en desarrollo
Causa: Frontend en puerto diferente al configurado
Solución: Actualizar CORS_ORIGINS en backend .env:
CORS_ORIGINS=http://localhost:3080,http://localhost:4173
Problema: WebSocket no conecta
Verificar:
- Backend WS está corriendo en puerto 3082
- Frontend usa
ws://(nowss://) en desarrollo - No hay proxy inverso bloqueando WS
ACTUALIZACIÓN DE PUERTOS
Si necesitas cambiar un puerto:
- Actualizar
/home/isem/workspace/projects/trading-platform/.env.ports - Actualizar este documento
- Actualizar
docker-compose.yml - Actualizar archivos
.envde cada servicio:/apps/backend/.env/apps/frontend/.env/apps/ml-engine/.env/apps/data-service/.env
- Reiniciar servicios afectados
- Notificar al equipo del cambio
REFERENCIAS
- Archivo de puertos:
/home/isem/workspace/projects/trading-platform/.env.ports - Docker Compose:
/home/isem/workspace/projects/trading-platform/docker-compose.yml - Config Backend:
/home/isem/workspace/projects/trading-platform/apps/backend/.env.example - Config Frontend:
/home/isem/workspace/projects/trading-platform/apps/frontend/vite.config.ts - Config ML Engine:
/home/isem/workspace/projects/trading-platform/apps/ml-engine/src/api/main.py - Config Data Service:
/home/isem/workspace/projects/trading-platform/apps/data-service/src/main.py
Última Actualización: 2025-12-05 Mantenedor: DevEnv Agent Contacto: Equipo de Desarrollo Trading Platform