El Depósito

Arquitectura de Infraestructura de Vector Libre

Estatus:Documentación Técnica (Arquitectura Unificada)
Servidor Principal:
 web1.vectorlibre.org (IP: 162.213.38.154, Arch Linux/Nginx)
Licencia:Creative Commons Attribution-ShareAlike 4.0 International

Resumen de Topología Unificada

La infraestructura completa de Vector Libre opera de forma consolidada en un único servidor soberano: web1.vectorlibre.org.

Tras la sustitución de Discourse por Apache Answer (un único binario compilado en Go con huella de memoria de ~45 MB), se eliminó la necesidad operativa de mantener dos servidores separados. Todo el ecosistema de servicios estáticos, dinámicos, almacenamiento local y delegación de identidad se ejecuta de forma host-nativa bajo Nginx y systemd en el mismo nodo.

[ CLOUDFLARE DNS/PROXY (SSL FLEXIBLE)/301 REDIRECTS ]
      |
      v
[ web1.vectorlibre.org (162.213.38.154 - Arch Linux/Nginx) ]
      |
      +---> vectorlibre.org (Landing Page) ----> Nginx estático (/srv/www/vectorlibre.org/default/public/)
      +---> docs.vectorlibre.org (El Depósito) -> Nginx estático (/srv/www/vectorlibre.org/docs/public/)
      +---> agora.vectorlibre.org (El Ágora) --> Nginx reverse proxy -> Apache Answer Go (127.0.0.1:9080)
      +---> Matrix Identity (/.well-known) ----> Nginx JSON endpoints (server/client)
      +---> Acceso SSH Administrativo --------> OpenSSH Daemon (puerto 22, DNS directo/gray cloud)

Especificación del Servidor Unificado (web1.vectorlibre.org)

  1. Plataforma y Sistema Operativo:
    • Sistema Operativo: Arch Linux (Rolling release, kernel Linux 7.x).
    • Servidor Web/Proxy Reverso: Nginx gestionando la totalidad de dominios, certificados y enrutamiento interno hacia servicios estáticos y dinámicos.
    • Estándar de Rutas en Disco: Estructura canónica bajo /srv/www/vectorlibre.org/<subdominio>/.
  2. Componentes y Servicios Alojados:
    • Landing Page (``vectorlibre.org``): Sitio estático compilado con Hugo + rst2html, servido desde /srv/www/vectorlibre.org/default/public/.
    • El Depósito/Wiki (``docs.vectorlibre.org``): Base de conocimiento estática compilada con Hugo + rst2html, servida desde /srv/www/vectorlibre.org/docs/public/.
    • El Ágora/Foro (``agora.vectorlibre.org``): Instancia host-nativa de Apache Answer ejecutada mediante servicio de systemd (answer.service) en el puerto local 127.0.0.1:9080 bajo el usuario del sistema answer.
    • Base de Datos y Caché: PostgreSQL local (base de datos agora_production) y Valkey/Redis local (puerto 6379) para sesiones y caché en memoria.
    • Almacenamiento de Adjuntos (Cloudflare R2): Descarga de avatares y multimedia hacia bucket S3-compatible (vectorlibre-agora) vía plugin storage-s3.
    • Delegación Matrix: Archivos estáticos JSON servidos en /.well-known/matrix/server y /.well-known/matrix/client.
    • Correo Saliente Transaccional: MTA en mail1.evalinux.net (puerto 465 SMTPS con TLS) para envío de activaciones y notificaciones de cuenta.
  3. Justificación de la Consolidación (KISS):
    • Cero Sobrecalentamiento Operativo: Discourse exigía >1.5 GB de RAM, obligando a aislarlo en un servidor secundario (web1.evalinux.net). Apache Answer requiere menos de 50 MB de RAM.
    • Simplicidad de Mantenimiento: Un único punto de configuración para Nginx, un único ciclo de respaldos para base de datos y archivos, y ausencia de latencia de red entre servicios.
    • Identidad Soberana: Todo el tráfico administrativo y público se consolida bajo el hostname canónico del proyecto: web1.vectorlibre.org.

Estrategia de Dominios y Redirecciones

  • Dominio Canónico: vectorlibre.org
  • Redirecciones 301: vectorlibre.com, vectorlibre.net y vectorlibre.xyz redireccionan todo el tráfico web a vectorlibre.org mediante reglas dinámicas de Cloudflare.
  • Acceso Administrativo Directo (SSH): Registro DNS tipo A directo y no proxificado (DNS only/gray cloud) para web1 en todos los dominios (web1.vectorlibre.org, web1.vectorlibre.com, web1.vectorlibre.net, web1.vectorlibre.xyz) apuntando a 162.213.38.154, permitiendo conexiones SSH administrativas inmediatas sin interferencia del proxy HTTP de Cloudflare.
  • OpenNIC (Red Soberana): Dominio vector.libre registrado directamente en la red de servidores DNS de OpenNIC apuntando directamente a 162.213.38.154.