Skip to content

Infraestructura y despliegue

Esta página documenta la infraestructura pública de alto nivel usada por KPUGA - ERP. No incluye IPs, credenciales, rutas privadas completas, llaves SSH, archivos .env, cadenas de conexión ni reglas exactas que puedan comprometer el entorno productivo.

Servidor e infraestructura base

ComponenteTecnologíaPropósito
VPSUbuntuServidor remoto para alojar la aplicación y sus servicios principales.
Acceso remotoSSH con llave publica/privadaAdministración segura del servidor sin publicar llaves ni usuarios internos.
FirewallUFWControl de puertos necesarios para administración, web, API y servicios internos.
DominioAdquisición de dominio privadoPunto de acceso público al sistema.
DNSRegistros A para dominio raíz y wwwEnrutamiento del dominio hacia el VPS.

Base de datos

ComponenteTecnologíaPropósito
MotorMicrosoft SQL ServerBase de datos principal del sistema.
Base productivadatabase_examplePersistencia de datos operativos y administrativos.
Herramienta CLIsqlcmdConsultas administrativas y respaldos desde terminal.
AutenticaciónSQL Server AuthenticationAcceso controlado con credenciales privadas no publicadas.

Backend Node.js

ComponenteTecnologíaPropósito
RuntimeNode.jsEjecución del backend JavaScript en servidor.
FrameworkExpress.jsAPI REST, middlewares y manejo de rutas.
ProcesosPM2Mantener el backend disponible y reiniciarlo ante fallos.
Configuración sensible.env privadoVariables de base de datos, JWT, rutas y parámetros operativos.
ArchivosMulterRecepción controlada de archivos cargados por usuarios autorizados.
Seguridad de peticionesCORS y rate limitingControl de orígenes permitidos y límite de solicitudes.
Tiempo realSocket.IOChat, presencia, notificaciones y eventos internos.

Frontend React

ComponenteTecnologíaPropósito
UIReactInterfaz de usuario tipo SPA.
BuildViteEmpaquetado, optimización y generación de archivos estáticos.
EstilosTailwind CSSSistema de estilos utilitario para vistas y componentes.
RutasReact Router DOMNavegación interna por vistas y roles.
EstadoContext API y hooksManejo de sesión, permisos y estado de interfaz.
Comunicación HTTPFetch API con capa de clienteConsumo del backend protegido.

Servidor web Nginx

ComponenteConfiguración publicaPropósito
Proxy inversoRedirección de solicitudes de API al backend localSeparar tráfico web de trafico de aplicación.
WebSocketsCabeceras de upgrade para conexiones persistentesSoporte para Socket.IO.
Archivos estáticosFrontend compilado en directorio webServir la aplicación React generada por Vite.
SSL/HTTPSLet's Encrypt con CertbotCertificado TLS automático y renovable.
Cache de entradaCache-Control: no-cache en el HTML principalEvitar que los usuarios queden atrapados en versiones antiguas.
RedirecciónHTTP a HTTPSForzar comunicación segura.
MantenimientoBandera temporal controlada en servidorMostrar página de mantenimiento sin cambiar el código de la aplicación.
Carga de archivosLimite configurado para archivos grandesPermitir documentos operativos dentro de limites controlados.

Seguridad operacional

  • Las llaves SSH, credenciales, JWT secrets, cadenas de conexión y archivos .env permanecen fuera de este repositorio.
  • El acceso a puertos administrativos o de base de datos debe restringirse por firewall, IP permitida, VPN o política equivalente.
  • HTTPS se fuerza mediante Nginx y certificados de Let's Encrypt.
  • El backend se ejecuta detrás de proxy inverso y se administra con PM2.
  • Las cookies de sesión, orígenes CORS y permisos por rol forman parte del modelo de acceso de la aplicación.

Documentación publica sanitizada. No contiene código fuente privado.