Coolify usa Traefik como proxy — los ports fijos causan conflicto si el
puerto ya está ocupado. Se elimina también moraworld-network (nombre fijo
choca con redes de deploys anteriores); Coolify gestiona su propia red.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- ThrottlerGuard global: 20 req/min por IP en todos los endpoints
- forbidNonWhitelisted: true en ValidationPipe
- Dockerfile API: prisma migrate deploy antes de arrancar el proceso
- coolify-compose: depends_on api (service_healthy) en web
- GitHub Actions: build y push de imágenes api/web a GHCR en cada push a main
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>