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:

# 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/):

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:

CID=$(ipfs add -r --nocopy --cid-version=1 --hash=sha2-256 -Q /srv/mirrors/mi-proyecto/)
echo "El nuevo CID raíz es: $CID"

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.