Proyecto
Esto es una wiki de felinos. ¿Por qué? Porque me fascinan estos animales. ¿Pero a quien le fascinan? A Damalga, el Desarrollador de este sitio y alguien a quien le encantaria coger su cámara y tirarse una jornada completa en un mismo sitio a la espera de poder fotografiar y/o grabar a un lince ibérico en su habitat natural, de ruta en busca de conejos... ratones, perdices y/o culebras...
Pero meowrawr no es solo otra web más de felinos. Es un proyecto con un objetivo paralelo que pesa tanto como el propio contenido: Aprender a autoalojar una web, sin depender de proveedores de infraestructura, controlando unas cuantas capas en el proceso, desde el hardware hasta que por fin es accesible desde cualquier navegador web. Pasando por configurar el servidor web y afrontando un montón de cuestiones relativas a la seguridad en internet.
Hardware
El servidor es una Raspberry Pi 4 de 8 GB. ¿Por qué no la 5, que es más potente? Por consumo y calor. Este equipo va a estar encendido 24/7, así que prioricé eficiencia sobre potencia. Para servir HTML estático no necesito un guepardo (sprint brutal de 110 km/h pero solo aguanta unos segundos antes de sobrecalentarse), necesito un cacharro silencioso, fresco y que no me dispare la factura de la luz.
La metí en una caja de estas: DeskPi Pro V3 de 52Pi, que "conseguí" a través de Hackeed. Le añadí un disco SSD que tenía en un viejo portatil... Y bueno, no me extiendo más con el hardware. Si te pica la curiosidad por el homelab completo ya te invitaré a explorar cada rincón del sistema.
Software
La Pi corre Debian (Trixie) sin entorno de escritorio. Sobre ese sistema base voy montando el stack del sitio. Nginx como servidor web, certificados TLS gestionados por Cloudflare (el túnel cifra el tramo hasta la Pi, así que Nginx sirve en HTTP plano por detrás). Sitio estático generado con 11ty usando por motor de plantillas Handlebars para no tener que gestionar cada ficha de felino de forma independiente.
Pero por encima de la infraestructura, meowrawr es también una excusa para aprender a manejar APIs masivas. Toda la información de cada ficha sale de Wikidata (para obtener los identificadores de cada especie), Wikipedia (Para obtener la información) y por último las imágenes vienen de y las imágenes de iNaturalist, así que buena parte del trabajo consiste en consultar, cruzar y normalizar lo que devuelven esas dos fuentes para convertirlo en algo presentable... Poca broma.
Justo ahora estoy preparándome para el LPIC-1 (Linux Professional Institute Certification, un examen de referencia para administradores de sistemas GNU/Linux), así que aprovecho cada decisión sobre meowrawr como excusa para profundizar en lo que respecta a permisos, procesos, networking y bashcripting. Como buen linux nerd, mi objetivo es que la propia Pi se encargue de ciertas tareas repetitivas a la hora de desplegar actualizaciones, así como construir un sistema de monitorización que me notifique en caso de que haya algún problema.
Resumen
Meowrawr es el proyecto con el que consolido ciertas habilidades propias de administrador de sistemas sin olvidar las de desarrollador frontend (a lo que me he dedicado profesionalmente estos últimos años), todo ello mientras transmito mi pasión por los felinos. Y si dentro de unos años puedo permitirme ir a fotografiar o grabar a estos seres en libertad con la excusa de que llevo esta web, pues mira, habremos triunfao!