Sincronizar notas Markdown locales con un Git Server propio en un NAS

Una solución local-first para guardar notas Markdown en un Git Server dentro de un NAS y sincronizarlas entre Android y Windows, cubriendo el repositorio del NAS, la configuración en Android y la configuración en Windows.

Si ya tienes un NAS local y quieres mantener tus notas lo más posible bajo tu control, puedes guardar notas Markdown en un Git Server del NAS y sincronizarlas con clientes en Android y Windows. Esta solución no depende de unidades en la nube públicas, y encaja bien con herramientas de notas basadas en archivos Markdown locales, como Obsidian, Markor, VS Code y Typora.

La idea básica es sencilla:

  1. Crear un repositorio Git bare en el NAS como repositorio central de notas.
  2. Clonar el repositorio en Windows y escribir notas con un editor habitual.
  3. Clonar el mismo repositorio en Android y usar un cliente Git para hacer pull y push.
  4. Antes de cambiar de dispositivo, ejecutar pull; después de escribir, ejecutar commit y push.

No es el método de sincronización más automático, pero ofrece mucho control y un historial de versiones claro. Si creas el hábito de hacer commits, puedes guardar notas, configuración y adjuntos de imágenes en tu propio NAS a largo plazo.

Para Quién Es Esta Solución

Esta solución encaja con quienes:

  • Ya tienen un NAS en casa o en la oficina.
  • Escriben notas principalmente como archivos Markdown.
  • Quieren guardar los datos de notas dentro de la red local, no solo en una nube comercial.
  • Necesitan sincronización entre Windows y Android.
  • Aceptan operaciones básicas de Git como clone, pull, commit y push.

Si quieres sincronización totalmente automática e invisible, Syncthing, WebDAV o la sincronización integrada de una app de notas pueden ser más cómodos. Git encaja mejor cuando importan el historial, la capacidad de volver atrás, la migración y el control.

1. Instalar Git Server en el NAS

Cada sistema NAS tiene una entrada distinta, pero el objetivo es el mismo: que el NAS ofrezca un repositorio Git accesible por SSH.

Hay tres formas comunes:

Método Escenario adecuado
Instalar Git Server desde el centro de paquetes del NAS Synology, QNAP y otros NAS comerciales cuando quieres menos configuración
Desplegar Gitea con Docker Quieres interfaz web, gestión de cuentas y un servicio Git más completo
Usar SSH + repositorio bare directamente Solo lo usas tú y buscas algo simple y estable

Para sincronización personal de notas, SSH + repositorio bare suele ser suficiente. Supongamos que el NAS tiene un usuario dedicado git y que los repositorios se guardan en /volume1/git. En la terminal del NAS, ejecuta:

1
2
3
mkdir -p /volume1/git/notes.git
cd /volume1/git/notes.git
git init --bare

Un repositorio bare no se edita directamente. Solo actúa como centro de sincronización. El directorio real donde escribes notas está en local, en Windows o Android.

Después confirma que SSH puede acceder al NAS:

1
ssh git@192.168.1.10

Si el NAS admite acceso SSH con clave pública, conviene configurarlo para no introducir contraseña cada vez que haces push. Windows y Android pueden generar sus propias SSH key, y luego puedes añadir las claves públicas al authorized_keys del NAS o a la configuración del usuario del Git Server.

2. Configuración en Windows

En Windows, instala Git for Windows y elige un directorio local para las notas, por ejemplo D:\Notes.

Clonación inicial:

1
git clone git@192.168.1.10:/volume1/git/notes.git D:\Notes

Después de entrar en el directorio, puedes crear una estructura básica:

1
2
cd D:\Notes
mkdir inbox, daily, projects, resources

Luego abre D:\Notes con Obsidian, VS Code, Typora u otro editor Markdown. Después de escribir las primeras notas, haz commit:

1
2
3
git add .
git commit -m "初始化笔记库"
git push origin main

Si la rama predeterminada del repositorio es master, sustituye main por master. También puedes unificarla como main:

1
2
git branch -M main
git push -u origin main

En el uso diario, puedes mantener este ritmo en Windows:

1
2
3
4
git pull --rebase
git add .
git commit -m "更新笔记"
git push

3. Configuración en Android

En Android, usa un cliente compatible con Git para sincronizar el directorio local de Markdown. Opciones comunes:

Herramienta Uso
Termux La opción más flexible, parecida a una línea de comandos Linux
MGit Cliente Git gráfico, adecuado si no quieres escribir muchos comandos
GitJournal Más parecido a una app de notas, adecuado para notas Markdown simples

Si eliges Termux, instala primero Git y OpenSSH:

1
2
pkg update
pkg install git openssh

Genera una SSH key:

1
ssh-keygen -t ed25519 -C "android-notes"

Añade la clave pública generada a la autorización del usuario Git en el NAS. Luego elige un directorio local en el teléfono y clona el repositorio:

1
git clone git@192.168.1.10:/volume1/git/notes.git ~/notes

Si quieres que editores Android normales puedan acceder a este directorio, puedes poner el repositorio en almacenamiento compartido:

1
2
cd /sdcard
git clone git@192.168.1.10:/volume1/git/notes.git Notes

Después puedes abrir /sdcard/Notes con Markor, Obsidian Android u otro editor Markdown. Tras modificar notas en el teléfono, vuelve a Termux y ejecuta:

1
2
3
4
5
cd /sdcard/Notes
git pull --rebase
git add .
git commit -m "手机更新笔记"
git push

En Android, los problemas más frecuentes vienen de permisos y rutas. El directorio home de Termux es más estable, pero algunos editores quizá no puedan acceder directamente. /sdcard facilita el acceso desde editores, pero permisos, vigilancia de archivos y rendimiento pueden quedar limitados por el sistema. Prueba primero con pocas notas antes de decidir el directorio final.

4. Cómo Encajan Obsidian y Joplin

El NAS Git Server solo resuelve dónde viven los archivos y cómo se sincronizan. Para escribir notas, todavía necesitas elegir una aplicación. Aquí hay dos rutas: Obsidian y Joplin.

Solución Método de sincronización Usuarios ideales Atención
Obsidian + Git El directorio de notas es el repositorio Git; Windows y Android tiran del mismo repositorio Quienes quieren backlinks, grafo de conocimiento, plugins y archivos Markdown puros En Android conviene probar primero si el cliente Git y Obsidian pueden acceder bien al mismo directorio
Joplin + Git No se recomienda meter la base de datos de Joplin directamente en Git; es mejor usar la sincronización de Joplin o exportar Markdown a Git periódicamente Quienes quieren recorte web, cifrado de extremo a extremo y estructura tradicional de libretas Los datos locales de Joplin no son una carpeta Markdown normal y no sirven bien como biblioteca de notas sincronizada directamente por Git

Solución Obsidian

Obsidian es la opción que mejor encaja con esta sincronización NAS + Git. Su vault es, en esencia, una carpeta normal con archivos Markdown, adjuntos de imágenes y archivos de configuración. Puedes usar directamente D:\Notes o /sdcard/Notes como vault de Obsidian.

Flujo en Windows:

1
git clone git@192.168.1.10:/volume1/git/notes.git D:\Notes

Luego abre D:\Notes en Obsidian.

Flujo en Android:

1
2
cd /sdcard
git clone git@192.168.1.10:/volume1/git/notes.git Notes

Luego abre /sdcard/Notes en Obsidian Android.

Recomendaciones para Obsidian:

  • Si lo usas solo tú, puedes hacer commit de .obsidian/ para sincronizar temas, plugins y parte de la configuración entre dispositivos.
  • Si Android y Windows usan plugins muy distintos, puedes hacer commit solo del contenido de notas y excluir archivos de estado del dispositivo como .obsidian/workspace.json.
  • Conviene poner los adjuntos de imágenes en attachments/ para que no queden dispersos por muchas carpetas.
  • Antes de abrir Obsidian, ejecuta git pull --rebase; después de escribir, haz commit y push.

Puedes preparar un .gitignore para reducir conflictos causados por archivos de estado del dispositivo:

1
2
3
.obsidian/workspace.json
.obsidian/workspace-mobile.json
.trash/

Solución Joplin

Joplin funciona de otra manera. Aunque usa sintaxis Markdown, sus datos locales se gestionan principalmente mediante la base de datos de la aplicación. No es una carpeta Markdown normal que pueda sincronizarse directamente con Git. Por eso, no conviene poner el directorio de configuración o base de datos de Joplin directamente dentro de un repositorio Git.

Si prefieres Joplin, hay dos formas más estables:

Forma Descripción
Usar la sincronización integrada de Joplin Sincronizar mediante WebDAV, Nextcloud, Joplin Cloud, Dropbox, OneDrive, etc. El NAS puede ofrecer WebDAV o Nextcloud
Exportar Markdown a Git periódicamente Usar Joplin como app principal de notas, exportar las notas como Markdown de vez en cuando y hacer commit al repositorio Git del NAS como copia de seguridad

Si el NAS ya tiene WebDAV o Nextcloud, conectar Joplin directamente al NAS será más fluido que usar Git. Además puede activar cifrado de extremo a extremo, adecuado para quien no quiere resolver conflictos de Git pero sí quiere mantener los datos bajo su control.

Ruta recomendada para Joplin + NAS:

  1. Activar WebDAV en el NAS o desplegar Nextcloud.
  2. Configurar el mismo destino de sincronización en Joplin para Windows.
  3. Configurar el mismo destino de sincronización en Joplin para Android.
  4. Cuando necesites copia con historial, exportar Markdown periódicamente al repositorio Git.

Regla rápida:

  • Si quieres “carpeta Markdown local + backlinks + historial Git”, elige Obsidian.
  • Si quieres “app tradicional de notas + recorte web + sincronización cifrada”, elige Joplin.
  • Si quieres usar el NAS Git Server como centro principal de sincronización, Obsidian encaja mejor.
  • Si quieres usar el NAS como backend de nube privada, Joplin encaja mejor.

5. Estructura Recomendada para las Notas

No conviene diseñar la biblioteca de notas de forma demasiado compleja al principio. Puedes empezar con esta estructura:

1
2
3
4
5
6
7
Notes/
  inbox/
  daily/
  projects/
  resources/
  attachments/
  README.md

El significado es directo:

  • inbox/ guarda notas temporales.
  • daily/ guarda diario, registros y notas diarias.
  • projects/ guarda notas de proyectos.
  • resources/ guarda material de referencia a largo plazo.
  • attachments/ guarda imágenes, PDF y otros adjuntos.

Si usas Obsidian, puedes usar este directorio directamente como vault. Hacer commit de .obsidian/ depende de tus hábitos. Para una sola persona con varios dispositivos, puede estar bien; si los plugins difieren mucho entre dispositivos, puedes hacer commit solo de parte de la configuración.

6. Evitar Conflictos de Sincronización

La clave para sincronizar notas con Git no es que los comandos sean complicados, sino mantener hábitos estables.

Reglas recomendadas:

  1. Antes de escribir desde otro dispositivo, ejecuta git pull --rebase.
  2. Después de una sesión de escritura, haz commit y push a tiempo.
  3. No edites el mismo archivo durante mucho tiempo en dos dispositivos a la vez.
  4. No metas imágenes y adjuntos grandes de forma ilimitada en el repositorio Git.
  5. Mantén periódicamente otra copia del repositorio fuera del NAS.

Si aparece un conflicto, Git marcará los archivos afectados. Los conflictos en texto Markdown normalmente no son difíciles de resolver, pero en el teléfono la experiencia es peor, así que conviene resolverlos en Windows.

7. Hace Falta Sincronización Automática

Puedes escribir un script simple en Windows que encadene pull, add, commit y push. Pero para notas no recomiendo commits totalmente automáticos, porque borrados accidentales, commits vacíos, conflictos y adjuntos grandes podrían subirse sin querer.

Una forma más segura es semiautomática:

  • Hacer pull manual antes de abrir las notas.
  • Ejecutar un script para hacer commit después de escribir.
  • Usar un mensaje de commit sencillo que indique qué cambió.

Por ejemplo, en Windows puedes preparar un sync-notes.ps1:

1
2
3
4
git pull --rebase
git add .
git commit -m "更新笔记"
git push

Si no hay cambios, git commit mostrará nothing to commit. No es un problema.

8. Ventajas y Desventajas

Aspecto Descripción
Ventajas Los datos están en el NAS local, el historial de versiones es claro, se puede volver atrás, migrar es fácil y encaja bien con Markdown
Desventajas Requiere entender Git, los conflictos se resuelven a mano y la experiencia móvil no es tan fluida como una nube
Adecuado para Usuarios técnicos, notas local-first, bases personales de conocimiento, documentación de proyectos
No adecuado para Quien no quiere tocar la línea de comandos, necesita colaboración en tiempo real o sincroniza adjuntos grandes con frecuencia

Mi Recomendación

Si solo quieres sincronizar notas Markdown normales entre Android y Windows, empieza con la solución mínima: un repositorio bare en el NAS, Git for Windows en Windows y Termux o MGit en Android. No introduzcas desde el primer día permisos complejos, scripts de automatización ni clasificación excesiva.

Cuando el flujo ya funcione bien, puedes considerar Gitea, copias de seguridad automáticas, gestión de SSH key por dispositivo, un repositorio separado para adjuntos, tareas programadas y otras extensiones. Lo más importante en un sistema de notas es que sea estable a largo plazo, no llenarlo de funciones desde el primer día.

En una frase: un NAS Git Server sirve para convertir notas Markdown en una biblioteca personal local-first, rastreable y migrable. No es tan cómodo como la sincronización en la nube, pero el control queda mucho más claro.

记录并分享
Creado con Hugo
Tema Stack diseñado por Jimmy