Índice de la serie Syncthing
- Cómo usar Syncthing: notas prácticas desde el emparejamiento de dispositivos hasta la sincronización de archivos
- Desplegar Syncthing con Docker: Compose, puertos y mapeo de volúmenes
- Cómo configurar Syncthing en varios dispositivos: malla, topología en estrella e introducers
- Usar Syncthing en Android: configuración de Syncthing-Fork y copia de fotos
- Gestionar Syncthing con muchos dispositivos y carpetas: topología, nombres y versionado
- Cómo sincronizar fotos de iPhone con un ordenador o NAS usando Syncthing
Syncthing sirve para sincronizar archivos punto a punto entre varios dispositivos. No es una nube tradicional, ni sube primero todos los datos a un servidor central para descargarlos después. Los dispositivos autorizados intercambian archivos directamente.
Si quieres usarlo para notas Markdown, copias de fotos, archivos de configuración o carpetas de un NAS doméstico, la primera pregunta no es solo si puede sincronizar. Conviene entender antes dispositivos, carpetas, ID de dispositivo, dirección de sincronización, descubrimiento y manejo de conflictos.
Qué problema resuelve Syncthing
El caso central de Syncthing es sencillo: tienes dos o más dispositivos y quieres mantener una carpeta en el mismo estado entre ellos.
Ejemplos típicos:
- Sincronizar archivos de trabajo entre un escritorio Windows y un portátil.
- Sincronizar fotos o documentos entre un teléfono y un NAS.
- Sincronizar scripts, ejemplos de configuración o pequeñas carpetas de referencia entre servidores Linux.
- Mantener notas de Obsidian, adjuntos externos de Joplin o carpetas Markdown en varios dispositivos.
Encaja mejor cuando quieres controlar tus propios dispositivos y datos. Si necesitas permisos de equipo, previsualización web, enlaces compartidos o edición colaborativa, una nube o plataforma documental convencional puede ser más adecuada.
Qué ocurre en el primer arranque
La guía oficial de inicio recomienda configurar dos máquinas en paralelo. En Syncthing, cada máquina es un device. La máquina que estás configurando es el local device; la otra máquina que sincronizará contigo es el remote device.
Al arrancar por primera vez, Syncthing crea su configuración, claves criptográficas e ID de dispositivo. También abre por defecto la interfaz web local:
|
|
Esta Web GUI es la entrada habitual de configuración. Syncthing también puede crear una carpeta predeterminada, normalmente una carpeta Sync bajo el perfil del usuario. Puedes usarla para probar o eliminarla después y añadir tus propias carpetas.
El device ID es la base del emparejamiento
Syncthing empareja dispositivos mediante device IDs.
Cada dispositivo genera su propia clave en el primer arranque. El device ID es una huella legible del certificado de ese dispositivo. Dos dispositivos solo establecen una relación de sincronización después de añadir el ID del otro.
Un flujo típico:
- Iniciar Syncthing en ambos dispositivos.
- Abrir la Web GUI en ambos lados.
- Añadir el device ID de B en A.
- Añadir el device ID de A en B.
- Elegir qué carpetas compartir.
- Guardar y esperar la conexión.
El device ID no se protege como una contraseña, pero tampoco conviene publicar tu topología de sincronización sin necesidad. Lo que sí debe protegerse es la clave privada del dispositivo, el acceso a la Web GUI y las carpetas sincronizadas.
Syncthing no sincroniza toda la máquina
Syncthing sincroniza solo las carpetas que añades explícitamente. No sincroniza todo el dispositivo por defecto.
Cada carpeta tiene su propia ruta, ID, dispositivos compartidos y tipo. Es mejor separar por uso:
notes/: notas Markdown.photos-inbox/: entrada de fotos del teléfono.docs/: documentos compartidos entre dispositivos.scripts/: scripts y ejemplos de configuración.
No empieces sincronizando directorios del sistema, descargas completas o carpetas mezcladas. Cuanto más compleja sea la carpeta, más fácil será que conflictos, reglas de exclusión, permisos y coste de escaneo se vuelvan un problema de mantenimiento.
Tres tipos de carpeta habituales
La documentación oficial explica bien los tipos de carpeta. En la práctica, basta con dominar estos tres.
Send & Receive
Es el modo predeterminado. La carpeta envía cambios locales y recibe cambios remotos.
Sirve para:
- Editar notas en varios dispositivos.
- Mantener documentos en varias máquinas.
- Sincronización bidireccional normal.
Si dos dispositivos modifican el mismo archivo al mismo tiempo, Syncthing crea un archivo de conflicto en lugar de sobrescribir silenciosamente una versión.
Send Only
En este modo, la carpeta local actúa como copia de referencia. Envía cambios a otros dispositivos, pero no aplica los cambios que llegan de ellos.
Sirve para:
- Distribuir archivos desde un dispositivo principal a otros.
- Hacer que una máquina sea la fuente de verdad.
- Evitar que cambios remotos afecten a la carpeta local.
Si aparecen cambios remotos, la carpeta local puede mostrarse como out of sync. La Web GUI puede ofrecer Override Changes, que empuja el estado local al resto del clúster. Úsalo con cuidado.
Receive Only
Es lo contrario de Send Only. La carpeta recibe cambios del clúster, pero sus cambios locales no se envían a otros dispositivos.
Sirve para:
- Destinos de copia.
- Réplicas de solo lectura.
- Dispositivos donde un error local no debe contaminar el conjunto principal.
Si hay cambios locales, la Web GUI puede ofrecer Revert Local Changes para volver al estado del clúster.
Revisar firewall y puertos primero
Syncthing puede usar discovery, NAT y relay, pero cuanto más claro tengas el entorno de red, más estable será la conexión.
Los puertos importantes de la guía oficial de firewall son:
|
|
Donde:
22000/TCPse usa para tráfico de sincronización TCP.22000/UDPse usa para sincronización QUIC.21027/UDPse usa para descubrimiento local.
Si los dispositivos están en la misma LAN pero no se descubren, revisa primero firewalls locales, aislamiento del router y si Wi-Fi y red cableada están en segmentos distintos.
Entre redes públicas o detrás de NAT, la conexión directa suele ser más rápida que relay cuando puedes hacer port forwarding. Sin port forwarding, relay puede ayudar a conectar, pero el rendimiento suele ser peor.
En Linux, si usas ufw y existe el perfil correspondiente:
|
|
La Web GUI escucha por defecto en 127.0.0.1:8384. Si la cambias a 0.0.0.0:8384, la interfaz de administración queda accesible desde fuera de la máquina. Entonces debes pensar en contraseña, HTTPS, proxy inverso o túnel SSH. Para uso doméstico, un túnel SSH suele ser más seguro.
.stignore va en la raíz sincronizada
Si algunos archivos no deben sincronizarse, crea .stignore en la raíz de la carpeta sincronizada.
Detalles importantes:
.stignoredebe estar en la raíz de la carpeta sincronizada.- Las reglas son relativas a esa raíz.
.stignoreno se sincroniza a otros dispositivos.- El archivo debe usar UTF-8.
Ejemplo simple:
|
|
(?d) permite que Syncthing elimine esos archivos ignorados cuando de otro modo impedirían borrar un directorio. Es útil para archivos generados como .DS_Store.
El signo ! niega una regla y vuelve a incluir un archivo. Las reglas negativas complejas pueden hacer que Syncthing recorra directorios que de otro modo ignoraría, así que conviene empezar con patrones simples.
El versionado no es deshacer local
Syncthing admite versionado de archivos, pero su significado se confunde con facilidad.
La documentación oficial recalca que el versionado guarda la versión local antigua cuando un cambio remoto la reemplaza. Si B modifica un archivo y lo sincroniza hacia A, A puede conservar la versión reemplazada. Pero si A edita un archivo localmente, Syncthing no conserva automáticamente la versión previa de A.
Estrategias comunes:
- Trash Can File Versioning: mueve archivos reemplazados o borrados a
.stversions. - Simple File Versioning: conserva un número fijo de versiones.
- Staggered File Versioning: conserva versiones recientes más densas y versiones antiguas más espaciadas.
- External File Versioning: delega el manejo a un script externo.
Para documentos importantes, activa al menos versionado simple o tipo papelera en el destino de copia. No sustituye una copia de seguridad completa, pero reduce daños por borrado o sobrescritura accidental.
Cómo aparecen los conflictos
Syncthing detecta conflictos. Si dos dispositivos cambian el mismo archivo de forma distinta al mismo tiempo, puede crear un archivo como:
|
|
Es más seguro que sobrescribir en silencio, pero tendrás que limpiar esos archivos.
Escenarios frecuentes:
- Abrir la misma nota Markdown en varios dispositivos a la vez.
- Aplicaciones que escriben automáticamente el mismo archivo de estado.
- Sincronizar archivos específicos de dispositivo como
.obsidian/workspace.json. - Diferencias de mayúsculas y minúsculas entre Windows, macOS y Android.
Para notas, sincroniza primero texto, adjuntos y plantillas. Ten cuidado con estado de espacio de trabajo, cachés y archivos temporales de plugins; ponlos en .stignore si hace falta.
Límites de seguridad
Uno de los objetivos de seguridad de Syncthing es que dispositivos no autorizados no puedan unirse al clúster y que un observador pasivo no pueda leer archivos en tránsito.
La documentación de seguridad explica que el tráfico entre dispositivos está protegido por TLS, y que los pares verifican que la huella del certificado del dispositivo esté en la lista permitida. En la práctica, los dispositivos solo sincronizan cuando ambos lados tienen configurados los device IDs correctos.
Eso no significa que el uso de Syncthing sea invisible:
- Global discovery anuncia device IDs y direcciones de escucha.
- Local discovery emite en la LAN.
- Los relay servers pueden ver device IDs, aunque no descifrar los datos.
- Una Web GUI expuesta revela que la máquina ejecuta Syncthing.
Consejos prácticos:
- No expongas la Web GUI a internet salvo que la autenticación y el cifrado estén bien configurados.
- Añade solo dispositivos de confianza.
- Combina carpetas importantes con cifrado de disco o copias separadas.
- Puedes desactivar global discovery, relays o auto-upgrade si el entorno lo requiere, aceptando menos comodidad de conexión.
Dispositivos no confiables cifrados
Syncthing también admite dispositivos no confiables cifrados. Permite que un dispositivo no confiable almacene solo datos cifrados.
Un caso típico es usar un servidor en la nube o máquina externa como nodo de sincronización o copia, sin permitirle ver archivos en claro. Los dispositivos confiables cifran con la contraseña de carpeta antes de enviar; otros dispositivos confiables con la misma contraseña pueden sincronizar y descifrar.
La documentación oficial sigue tratando esta función como beta/testing. Es útil para necesidades claras, pero no es el punto de partida más simple.
Recuerda:
- Datos, nombres, marcas de tiempo, hashes y estructura de carpetas quedan protegidos.
- Folder ID, etiqueta y tamaño aproximado no se ocultan por completo.
- La contraseña y el folder ID deben guardarse bien.
- En el dispositivo no confiable, el tipo de carpeta debe ser
Receive Encrypted.
Para un NAS doméstico, tus propios equipos y teléfonos, normalmente es más fácil usar dispositivos confiables, con inicio de sesión seguro, cifrado de disco y copias.
Consejos de configuración
Si vas a usar Syncthing para notas o documentos a largo plazo:
- Crea carpetas separadas por tipo de dato. No uses una carpeta gigante mezclada.
- Usa
Send & Receiveen los equipos principales. - Considera
Receive Onlycon versionado en un NAS o máquina de copia. - En teléfonos, sincroniza solo directorios necesarios.
- Usa
.stignorepara cachés, temporales y estado de workspace. - Asegúrate de que
22000/TCP,22000/UDPy21027/UDPfuncionen en la LAN. - Mantén la Web GUI local si puedes; usa túneles SSH o VPN para administración remota.
- No trates la sincronización como única copia de datos importantes.
Cuándo encaja y cuándo no
Syncthing encaja si:
- Quieres que los datos permanezcan principalmente en tus dispositivos.
- Puedes entender emparejamiento, carpetas y conflictos.
- Tienes NAS, servidor doméstico o varios dispositivos personales.
- Quieres sincronizar Markdown, carpetas de entrada de fotos, scripts o documentos ligeros.
No encaja tanto si:
- Necesitas edición colaborativa en línea.
- Necesitas previsualización web y enlaces compartidos.
- Necesitas permisos de equipo detallados.
- No quieres tocar red, firewall ni conflictos.
Conviene verlo como una capa fiable de sincronización entre dispositivos, no como una nube completa. Bien usado, conecta NAS, ordenadores y teléfonos en una red de datos controlada por ti. Mal planificado, puede convertirse en una carga por conflictos, borrados accidentales, reglas de exclusión y detalles de red.