=========================================== Manual de Autonomía Técnica: Hazlo Tú Mismo =========================================== Propósito y Filosofía ===================== La misión fundamental de la Fundación MxOS no es monopolizar la distribución, sino transferir el conocimiento y capacitar a cualquier comunidad, escuela o empresa para que construya y opere su propia infraestructura de distribución soberana de software libre. Este manual documenta el procedimiento completo para levantar un espejo de guerrilla sobre IPFS para cualquier proyecto o distribución desde cero. Arquitectura Mínima Requerida ============================= Para operar tu propio espejo primario necesitas: 1. Un servidor con almacenamiento adecuado para el conjunto de paquetes a respaldar. 2. Demonio Kubo instalado y configurado con la extensión filestore. 3. Un dominio propio con control sobre los registros DNS autoritativos para configurar DNSLink. 4. Servidor web (Caddy, Nginx o Apache) para proporcionar terminación TLS y proxy inverso. Procedimiento Paso a Paso ========================= 1. Configuración de Filestore en Kubo ------------------------------------- Por defecto, agregar archivos a IPFS duplica su tamaño al copiarlos al almacén de bloques. Para evitar este desperdicio masivo de disco al sincronizar repositorios de cientos de gigabytes, habilita el filestore en la configuración de Kubo: .. code-block:: bash # Detener el servicio antes de modificar la configuración systemctl --user stop ipfs.service # Habilitar filestore y experimental nocopy ipfs config --json Experimental.FilestoreEnabled true # Iniciar nuevamente el servicio systemctl --user start ipfs.service 2. Sincronización Upstream con rsync ------------------------------------ Descarga los paquetes desde el espejo oficial más cercano hacia un directorio local (ejemplo: ``/srv/mirrors/debian/`` o ``/srv/mirrors/archlinux/``): .. code-block:: bash rsync -avSHP --delete-delay \ rsync://espejo.upstream.org/repositorio/ \ /srv/mirrors/mi-proyecto/ 3. Ingesta por Referencia (nocopy) ---------------------------------- Genera el grafo UnixFS sin duplicar archivos en disco utilizando la opción ``--nocopy``: .. code-block:: bash CID=$(ipfs add -r --nocopy --cid-version=1 --hash=sha2-256 -Q /srv/mirrors/mi-proyecto/) echo "El nuevo CID raíz es: $CID" 4. Publicación en el Dominio con DNSLink ---------------------------------------- Accede al panel de control o servidor DNS autoritativo de tu dominio (ejemplo: ``tudominio.org``) y crea o actualiza el registro TXT para tu subdominio de espejos: .. code-block:: zone _dnslink.espejos.tudominio.org. 300 IN TXT "dnslink=/ipfs/" A partir de este momento, cualquier persona en el mundo puede resolver y pinear tu repositorio ejecutando: .. code-block:: bash ipfs pin add /ipns/espejos.tudominio.org 5. Exposición Dual HTTP e IPFS ------------------------------ Configura un proxy inverso que reciba las conexiones HTTP convencionales y las envíe al gateway local de IPFS en ``127.0.0.1:8080/ipns/espejos.tudominio.org/``. De este modo, los usuarios tradicionales pueden seguir consumiendo el repositorio vía HTTP/HTTPS mientras tú te beneficias del enjambre P2P de respaldo.