Estos días he estado alejado del blog. Reformas en casa. No he tirado tabiques, ni cambiado ventanas ni —y bien sé que esto que digo tendrá que hacerse— pintado. Han sido unas reformas del siglo XXI: he rehecho mis los servicios digitales domésticos. Como dirían en LinkedIn, los he rearquitecturado. Ugh. Ya lo siento, pero habrá más palabros.
Empecé por el enrutador. Como toda casa moderna que se precie, tengo fibra. Pero el router que ponía el proveedor no me daba esa libertad que buscamos los que creemos saber algo de informática, así que, mucho tiempo atrás, compré otro para poder gestionar la red local con más alegría. Eso se hace configurando el router al que le llega la fibra como bridge (puente), lo que desde su punto de vista tiene que sentirse como una lobotomía. Todas sus funciones superiores de red están cortadas y es, en esencia, un adaptador al que le entra la fibra y del que sale un cable Ethernet, para que la verdadera gestión la haga otro.
Este otro router venía con un firmware de serie que le permitía hacer muchas cosas, pero no dejaba hacer otras de cuya necesidad me había convencido a mí mismo, quizá erróneamente. Así que lo flasheé con un sistema operativo más flexible. Querría que hubiera sido OpenWRT, que es la opción más lógica para un router doméstico, pero naturalmente su chipset de WiFi no tiene controladores de código abierto. Esto me pasa con cierta frecuencia: me apetece hackear algo y descubro, a renglón seguido, que justo con el modelo que tengo no se puede. Por fortuna, hay otro proyecto menos kosher en lo que concierne al origen de su código y sí soporta mi router. Además, tiene un nombre gracioso: FreshTomato. No me imaginaba que así empezaría mi descenso al infierno del selfhosting.
selfhosting, m: práctica sadomasoquista que consiste en montar en casa servicios digitales que la gente normal tiene contratados fuera, y que la gente más normal ni siquiera tiene o, más comúnmente, sabe siquiera que existen.
Tenía cogiendo polvo, desde mis tiempos de autónomo sin furgoneta, una NAS (una caja de discos duros) con mucha capacidad —para cuando la compré— pero poco cerebro. La limpié, la conecté y me puse a pergeñar maneras de hacerla bailar al son de mi calenturienta imaginación de ingeniero. Enseguida me di cuenta de que bailar, lo que es bailar, bailaría poco. El modelo estaba ya end-of-life’d, obsoleto, no mantenido por su fabricante. Los proyectos de código abierto de sistemas operativos para NAS hacía mucho que habían dejado atrás la arquitectura de ese hardware concreto. Mis opciones se reducían a intentar una arriesgada operación para instalar una versión muy tuneada de Debian para la que los foros de soporte se accedían a través de ouija. O aprovechar lo que pudiera y procurar que la pobrecita no se viera expuesta a internet ni de cerca, so pena de convertirse en un nodo involuntario de alguna red de tráfico de drogas o cosas peores.
Ni que decir tiene que opté por lo segundo, porque uno tiene que ser consciente de sus propias limitaciones. Sin embargo, enseguida me encontré con un problema. Ese tipo de problemas que empiezan por «no sería chulo que…». Tenía montado, en un rincón del hosting compartido de este mismo blog, un servidor Nextcloud que me daba acceso a ciertos datos que no me apetece que estén en manos de nubes americanas. Manías que tiene uno. Naturalmente, el hosting (uno de Lucushost, benditos sean) no daba de sí para guardar grandes cosas. Y como iba diciendo, ¿no sería chulo que el Nextcloud pudiera «ver» la NAS de casa?
El Nextcloud vive en internet. La NAS de casa, en internet, es como bañar a un gremlin en un bufé libre a las tres de la mañana en una noche de luna llena, por si el riesgo de licantropía sobrevenida pudiera compensar a los otros. Expliqué lo que hice en mi cuenta de Mastodón, orgulloso como estaba de haberlo conseguido. Un rando que pasaba por allí contestó a mi hilo con tres palabras como tres lápidas:
Túnel SSH inverso.
Anónimo
Pinchaglobos de m… Y sí, «túnel SSH inverso». Estaba orgulloso de algo que es obvio para otra gente, pero es que yo no había configurado antes ninguno. Tiene su miga hacerlo en un hosting compartido, que es la última palabra del credo en lo que concierne a servicios de alojamiento en la red. Me consta, porque he pasado por ahí antes, que con otras empresas más famosas no sería posible. Hay que enredar con claves públicas y privadas, permisos de archivos, asignaciones de dirección IP en el router y, lo que llevó más tiempo, encontrar un protocolo de acceso a ficheros que estuviera decentemente implementado en la NAS. Al final me quedé con SFTP después de probar —y fracasar— con WebDAV y FTPS (que, para regocijo de quien le puso nombre y algún pirado más, no es lo mismo que SFTP).
Este doloroso viacrucis me dejó encendida una bombillita en el cuadro de mandos de mi cerebro. No sería chulo que… Sí, otra vez. No es la mejor idea alojar algo tan gordo como Nextcloud en un rincón de un servidor compartido, cosa que ya me habían hecho saber las alertas de falta de espacio. Por otro lado, tenía también un portátil viejo marca blanca bastante potente pero al que el trote le había dejado frito la mitad del teclado y la pantalla. Lo venía usando con un teclado y una pantalla externa, pero acabé comprando uno nuevo hace menos de un año y estaba ahí, actuando como superficie receptora de polvo.
Ahí fue cuando me puse a recorrer foros de homelabbers y selfhosters. Que sepáis que si no tenéis un rack en casa con hipervisor no sois nadie. Yo, masoquista pero sin ínfulas, me decidí por una distribución de Linux tuneada para albergar servidores sencillos y con acceso vía web: Yunohost. Ya sé que sin Proxmox y contenedores Docker no podré crecer, pero eso será un problema del Iván del futuro, si acaso. De largo, lo más difícil fue lograr que mi viejo portátil arrancara con una imagen instalable de Yunohost desde un USB. La BIOS, ese minisistema operativo que se encarga de cargar el sistema operativo de verdad —en la carrera aprendí que los ordenadores y las muñecas rusas tienen más en común de lo que aparentan—, no se hablaba con un monitor conectado a través de un puerto HDMI porque para eso está la pantalla. La que no funcionaba. Terminé descubriendo que por el viejo puerto VGA sí que salía señal, así que con un monitor y un cable antiguos pude cambiar el orden de arranque y poner primero el USB. Lo del trastero de mi piso no es Diógenes digital, es para situaciones como esta. Lo prometo.
Yunohost instalado en el portátil, check. DNS dinámico con las herramientas de Lucushost y el cliente del router, check. Ya puedo ver mi servidor doméstico desde fuera. Lo siguiente, montar el Nextcloud. Intenté migrar el que ya tenía, pero tras cada problema que resolvía, surgían tres nuevos como en una versión informática del mito de la hidra. Es mezclar mitos, pero la solución terminó siendo la del nudo gordiano. Cortar por lo sano. Aprovisiono un subdominio nuevo, configuro sus zonas DNS, monto el Nextcloud en la interfaz del Yunohost. Ahora tengo dos servidores, lo que me da tiempo para mover datos con calma. Y un servidor doméstico que no ocupa gran cosa en un estante del mueble del salón, cerquita del router. Anda que no sería chulo que…
Otra vez. Puedo montar un Mastodón en casa y ahorrarme el servicio de red social alojado en Masto.host. Por cierto, lo recomiendo muchísimo: por no muchos euros puedes tener una red social federada propia y sin tener que tocar tripas. Por Júpiter que las tripas de Mastodón son… feas. Muy feas. Teóricamente, aquí también podría haber intentado una migración. El servicio de Masto.host tiene instrucciones y ofrece los archivos necesarios. ¿Ya he dicho que el administrador es un encanto? Pero después de la experiencia con Nextcloud, me entró miedo. Miré un poco por encima y decidí que haría, de nuevo, lo fácil: mover la cuenta.
Ahora soy @ivan@masto.brucknerite.net en lugar de @brucknerite. ¿Cuál será el siguiente capítulo de esta aventura?
No lo sé. Lo que sé puede resumirse en tres cosas:
- Alojar servicios digitales en casa es una ocupación entretenida y se aprende un montón.
- Alojar servicios digitales en casa es una toma de postura política frente a los gigantes de internet. A poco que lo pienses, hay tantas cosas la vida donde se esconden y se hacen fuertes que da pánico.
- Alojar servicios digitales en casa es un dolor. Una forma avanzada de sadomasoquismo en la que el sádico y el masoca eres tú. No es para todo el mundo. Si decidís no hacerlo, nadie (¡nadie!) os lo puede afear.
Pero ¿y lo bien que me siento?


Comentarios
3 respuestas a «Las tres cosas»
@ivan @blog Sólo de leer y pensar en ponerme manos a la obra ya me he cansado. Creo que estas son cosas para otro! El nash actualizado lo tengo pero … Casi que no me atrevo a tocarlo porque ahora funciona para lo que quiero.
@blog @ivan @brucknerite El sado-mundo del autohospedaje es casi infinito. Todo depende de tu aguante al sufrimiento.
Si no usas el Nextcloud para las fotos, te recomiendo Immich por docker, es sencillo y da mucho juego.
Si no lo tienes en el router y quieres algo más salvaje, puedes montar un firewall con pfSense, te asegura horas de "diversión asegurada" 🤣
@Yaso
Una reflexión desde la profundidad del pasado de la informática.
Cuando me tocaba poner el segundo enrutador en modo bridge (puente), significaba que al enrutador primario (el de ISP, en su configuración habitual) enlazaba con el secundario localizado en otra ubicación, por WI-FI, distribuyendo la señal por la regleta de rj45. Entonces en sentido inverso rj45–WI-FI–WI-FI–rj45 o WAN (ahora fibra). Lo que ahora algunos llaman conexión en puente (de dos enrutadores)es en realidad un conexión en serie de toda la vida (puta). Y luego va el Perplexity y lee estas … A ver si guardamos algo de rigor co… :-)))