TPTito Pinardo Gutiérrez
← Volver al rack
English
1U · OBSIDIANVault · Git · postmortems En producción

Posición 8 de 25 en el rack · En producción

Unidad 1U · Documentación

Obsidian · la memoria del homelab

Cada incidente, con su postmortem

Cada cambio, cada avería y cada decisión del servidor se escribe aquí: qué se hizo, con qué comandos, qué salió y por qué. Las notas se versionan en Git solas y Hermes las consulta para responder preguntas del tipo «¿qué pasó con…?».

Por qué tanto
Si algo no está escrito, la próxima vez se vuelve a investigar desde cero. Documentar con el resultado real de cada comando es lo que hace que una avería se arregle en minutos la segunda vez.
Cómo está ordenado
Diez secciones numeradas: inicio, infraestructura, servicios, estado, proyectos, procedimientos, historial, personal, estudio y plantillas. Cada nota enlaza con las que la explican.
Quién la lee
Yo; Hermes, que la tiene indexada por significado; y esta web, cuyo contenido salió de aquí y se saneó antes de publicarlo.
  • 10secciones numeradas
  • 18mapas interactivos de la infraestructura
  • 13 díassin copia que destapó una revisión
  • 10 minentre commits automáticos

Su código, en abierto Versión pública del repositorio: sin IPs ni secretos.

La documentación por dentro

Todo lo que hago en el servidor acaba aquí, y de aquí sale buena parte de esta web. Elige un recorrido.

Hermesde visita en la unidad

Pulsa una pieza o elige un recorrido. Si vienes de una habilidad, ya están encendidas las piezas donde la uso.

      Escribo una nota
      1. Mi navegador — Abro Obsidian desde el navegador.
      2. Puerta interna — La puerta interna comprueba que estoy en casa y pide doble factor.
      3. Escritorio remoto — El escritorio remoto se sirve en la pestaña.
      4. Obsidian — Escribo en Obsidian.
      5. Diez secciones — La nota va a su sección.
      6. Copia automática — A los 10 minutos, el plugin hace commit.
      7. Repositorio del vault — El historial guarda el cambio.
      8. Clave para empujar — Con la clave guardada en la ruta persistente…
      9. Repositorio privado — …se empuja al repositorio privado.
      10. Segunda copia — Y a la segunda copia dentro de casa.
      Después de una avería
      1. Los agentes con los que trabajo — Arreglo algo con ayuda de un agente.
      2. Incidentes y postmortems — Se escribe el postmortem con los comandos y salidas reales.
      3. Procedimientos — Se actualiza el procedimiento afectado.
      4. Repositorio del vault — Commit.
      5. Repositorio privado — Y push.
      Hermes busca en la documentación
      1. Hermes — Me preguntan qué pasó con un disco tras un corte de luz.
      2. Base vectorial — Hermes busca en la base vectorial.
      3. Embeddings — La pregunta, convertida en vector.
      4. Incidentes y postmortems — Aparece el postmortem del apagón.
      5. Embeddings — Con sus fragmentos más relevantes.
      6. Base vectorial — Ordenados por parecido.
      7. Hermes — Hermes responde con el enlace a la nota.
      La copia se para sin avisar
      1. Copia automática — El plugin deja de hacer commits, sin ningún error visible.
      2. Comprobar el último commit — Revisando, la fecha del último commit es de hace 13 días.
      3. Repositorio del vault — En el repositorio no faltaba nada: en disco había más notas que en el último commit.
      4. Clave para empujar — La clave y la conexión funcionaban: un push manual desde dentro del contenedor entró a la primera.
      5. Repositorio privado — La copia, al día otra vez.
      De la nota a esta web
      1. Diez secciones — Las notas de proyectos, incidentes y decisiones son la fuente de esta web.
      2. Yo, la próxima vez — Se reescriben para alguien de fuera y se sanean: nada de direcciones, nombres internos ni secretos.
      3. Esta web — Y acaban en las páginas que estás leyendo.
      1. Mi navegador

        Abro Obsidian desde cualquier equipo de casa, como una página web.

      2. Puerta interna

        Solo desde casa o la VPN.

      3. Los agentes con los que trabajo

        Cuando arreglo algo con ayuda de un agente, el postmortem se escribe con los comandos y resultados reales de la sesión.

      4. Repositorio privado

        Donde se empuja el vault. Privado: es documentación de trabajo.

        • Git
      5. Segunda copia

        Un repositorio más, dentro de casa, que se actualiza a la vez.

        • Git
      6. Hermes

        Lee la documentación para responder. Nunca escribe en ella: decisión mía.

      7. Base vectorial

        Donde Hermes guarda las notas troceadas para buscarlas por significado.

        • LLM locales (Ollama, Qdrant, RAG)
      8. Escritorio remoto

        Obsidian es una aplicación de escritorio. En el servidor corre dentro de un escritorio que se sirve por el navegador.

        • Docker
      9. Obsidian

        La aplicación, en un contenedor Docker con el vault montado desde fuera.

        • Docker
      10. Plugins

        Consultas sobre las propias notas, tareas, calendario y la copia en Git. Los más nuevos son los primeros sospechosos cuando algo se rompe.

      11. Modo restringido

        Arrancar sin plugins de la comunidad: la forma de seguir usando el vault mientras se busca el plugin culpable.

      12. Diez secciones

        Del 00 al 09. Cada nota con su lugar y su enlace a la sección.

      13. Incidentes y postmortems

        Síntoma, diagnóstico paso a paso con su porqué, causa, arreglo y cómo detectarlo la próxima vez.

      14. Mapas interactivos

        Dieciocho diagramas de la infraestructura que se exploran dentro de Obsidian, en un marco aislado sin acceso a las notas.

      15. Panel de inicio

        Una nota que se rellena sola con el estado de cada área, las tareas abiertas y lo de hoy.

      16. Copia automática

        Un plugin hace commit y push cada 10 minutos.

        • Git
      17. Repositorio del vault

        El historial completo de la documentación. Lo que se borra, sigue estando.

        • Git
      18. Clave para empujar

        Guardada en una ruta que sobrevive a que se recree el contenedor, y referenciada desde la configuración del propio repositorio.

        • Git
        • Linux / SSH hardening
      19. Comprobar el último commit

        Mirar de vez en cuando la fecha del último commit es lo que destapó una copia parada.

      20. Yo, la próxima vez

        El primer lector: el que vuelve a tener la misma avería meses después.

      21. Procedimientos

        Cómo se hace cada cosa, con su vuelta atrás.

      22. Embeddings

        Cada nota, convertida en vectores para encontrarla por lo que dice.

        • LLM locales (Ollama, Qdrant, RAG)
      23. Esta web

        Su contenido sale de aquí, saneado: sin direcciones, nombres internos ni secretos.

      Lo que uso de mi árbol

      Pulsa una habilidad: se encienden en el mapa las piezas donde la uso y te cuento para qué.

      LXC
      Corre en el contenedor de Docker del servidor.
      Docker
      Obsidian dentro de un escritorio remoto en Docker, con el vault y la configuración en volúmenes persistentes.
      Git
      Commit y push automáticos cada 10 minutos a un repositorio privado y a una segunda copia, con la clave en una ruta persistente.
      Linux / SSH hardening
      Acceso solo desde casa o la VPN con doble factor y secretos siempre fuera del vault.
      LLM locales (Ollama, Qdrant, RAG)
      La documentación está indexada por significado para que Hermes la use al responder.

      Bitácora de incidencias

      Averías reales. Lee el síntoma, elige la causa que creas y mira cómo se arregló.

      1. #1

        13 días sin copia

        18-09-2026 · copia

        Revisando la documentación, el último commit del vault era de hacía 13 días, aunque el plugin estaba configurado para hacer commit y push cada 10 minutos.

        ¿Qué crees que pasaba?

        Ver la solución
        Causa
        Las credenciales y la conexión funcionaban: un push manual entró a la primera. El que se había parado era el plugin, justo después de reorganizar todo el vault en carpetas numeradas.
        Solución
        Revisar el diff, hacer commit de la reorganización (git la reconoció como renombrados) y empujar a mano desde dentro del contenedor. Después, vigilar que el plugin vuelve a hacerlo solo.
        Lección
        Una copia que no avisa cuando falla no es una copia fiable. Hay que vigilar el resultado (la fecha del último commit), no la configuración.
      2. #2

        «dubious ownership» y luego «Host key verification failed»

        Julio de 2026 · Git

        El push del vault fallaba con dos errores seguidos: primero git se negaba a trabajar con el repositorio; al arreglarlo, SSH no reconocía a GitHub.

        ¿Qué crees que pasaba?

        Ver la solución
        Causa
        Los ficheros eran del usuario de la aplicación y git corría como root: git lo rechaza por seguridad. Y SSH buscaba la clave y los hosts conocidos en la carpeta de root, que se vacía cada vez que se recrea el contenedor.
        Solución
        Marcar el repositorio como seguro, guardar los hosts conocidos en la ruta persistente y decirle a git qué clave usar desde la configuración del propio repositorio, que vive en el vault.
        Lección
        En un contenedor, lo que no está en un volumen no existe tras recrearlo. El arreglo tiene que vivir donde persiste, o hay que repetirlo cada vez.
      3. #3

        Obsidian no levanta tras actualizar

        21-07-2026 · aplicación

        Tras actualizar Obsidian, la aplicación dejó de arrancar bien. El contenedor seguía vivo, sin reinicios ni falta de memoria.

        ¿Qué crees que pasaba?

        Ver la solución
        Causa
        Sin confirmar del todo: Obsidian no guarda en disco los errores de plugins. Los sospechosos eran los dos únicos que pedían la versión más reciente, uno de ellos el que abre al arrancar una nota con varias consultas.
        Solución
        Arrancar en modo restringido, sin plugins de la comunidad, para seguir usando el vault mientras se aísla el culpable.
        Lección
        Antes de mirar la aplicación, descartar la infraestructura capa por capa. Y saber dónde guarda cada cosa sus errores: aquí, en ningún sitio.

      Cómo se construyó

      1. Julio de 2026

        De notas sueltas a un sistema

        • Obsidian en el servidor, accesible desde el navegador.
        • Copia automática en un repositorio privado.
      2. Septiembre de 2026

        Reorganización

        • Todo el vault en diez secciones numeradas, con índice en cada una.
        • Postmortems con comandos y resultados reales.
        • Dieciocho mapas interactivos de la infraestructura.
      3. Septiembre y octubre de 2026

        Fuente de Hermes y de esta web

        • Indexado para que Hermes lo consulte por significado.
        • El contenido de esta web sale de aquí, saneado.

      Decisiones (y por qué)

      • Qué se documenta

        El resultado real, no el plan

        Un procedimiento que dice lo que debería pasar engaña el día que pasa otra cosa. Con el resultado de cada comando se ve qué es dato y qué es suposición.

      • Dónde viven los secretos

        Nunca en el vault

        El vault se copia en un repositorio externo. Las contraseñas van cifradas en el vault de Ansible o en ficheros locales con permisos mínimos.

      • ¿Hermes puede escribir?

        No

        La documentación es de trabajo y tiene que ser de fiar. Un modelo pequeño que escribe notas acabaría mezclando datos y suposiciones.

      Lo que aprendí

      • Documentar con resultados reales es lo que hace que la segunda vez cueste minutos.
      • Vigilar la copia por lo que produce, no por cómo está configurada.

      Lo siguiente

      • Un aviso automático si el último commit del vault tiene más de un día.
      • Encontrar el plugin que se paró y decidir si se sustituye por una tarea programada.

      ¿Hablamos?

      Puedo contar cualquiera de estas decisiones en detalle en una entrevista.

      Descargar CV Contactar ← Volver al rack

      Reconstrucción a partir del propio vault, que es privado: sin rutas, nombres internos ni contenido de las notas.