Se trata de un servicio de código abierto y gratuito, que nos permite mantener sincronizadas varias carpetas como si fueran una sola.
Esto conseguiría que, por ejemplo, una carpeta de nuestro NAS, esté disponible en nuestro móvil.
Un ejemplo claro es el de Obsidian, cuyo principal problema es poder acceder a las notas desde nuestro dispositivo móvil. Aquí es donde Syncthing nos va a ayudar.
Requisitos
Para proceder con esta guía, necesitarás lo siguiente:
- Un entorno Docker configurado, con la posibilidad de ejecutar
docker compose. Si no dispones de uno, puedes seguir esta guía: Install Docker and Portainer CE - Dos dispositivos (móvil o PC) para sincronizarse.
- Un café a mano (opcional).
Instalar Syncthing Server
Ejemplo
Para esta guía, haré uso de la carpeta "shared" como ejemplo para la sincronización. Recuerda ajustarla a tus necesidades, y que siguiendo el mismo patrón puedes agregar tantas como quieras.
Como casi todo servicio hoy día, haremos uso de Docker. La manera más cómoda es con Docker Compose. Para esto, lo primero será crear una ruta de configuración:
mkdir -p ~/syncthing/{config,shared}
cd syncthing
Ahora, dentro de esta misma ruta, crearemos el fichero docker-compose.yaml:
nano docker-compose.yaml
Y su contenido será este:
services:
syncthing:
image: syncthing/syncthing:latest
container_name: syncthing
hostname: your.hostname.local
restart: unless-stopped
ports:
- "8384:8384"
- "22000:22000/tcp"
- "22000:22000/udp"
- "21027:21027/udp"
volumes:
- /home/user/syncthing/config:/var/syncthing/config
- /ruta/a/sincronizar:/var/syncthing/ruta
environment:
- PUID=1000
- PGID=1000
- SYNTHING_NOUPGRADE=true
Como puedes apreciar, es bastante simple. Ahora tan solo deberás ejecutarlo con el siguiente comando:
docker comopose up -d
Configuración
Para comenzar, necesitaremos acceder a la interfaz web de nuestro servicio, que la encontraremos en la IP del servidor que hayas utilizado, en el puerto 8384. Verás que accede directamente, mostrándonos lo siguiente:

Por mi parte rechazaría el envío anónimo de información, pero esto al final es tú decisión el cómo hacerlo.
Luego nos mostrará otros dos mensajes, ambos hablan de lo mismo: Establecer un usuario y contraseña para Syncting. No es necesario, y siempre y cuando esté sólo en tu red local, no debería ser problema.
Hay otros métodos para securizarlo, ya que el uso de usuario y contraseña en Syncthing me ha dado problemas. Te cuento qué he hecho en mi caso:
- He marcado que el contenedor sólo sea accesible desde una IP, la de mi proxy inverso de NPM.
- En Nginx Proxy Manager he creado la regla de proxy para poder visualizarlo.
- Finalmente he creado un ACL con usuario y contraseña ya en NPM, de forma que necesitas introducirla antes siquiera de acceder.
Es algo más "rudimentario", pero que puedes aplicar sobre cualquier aplicación web, pudiendo centralizar este proceso de autenticación.
Agregar un dispositivo
El siguiente paso, es poder agregar un dispositivo. Este proceso requiere de otra instalación de Syncthing, ya sea en otro servidor o PC, como en un móvil.
En mi caso, como lo tengo en el móvil, es el que utilizaré, ya que además me parece la situación más práctica.
Le daremos a Añadir dispositivo remoto en la parte inferior derecha de la pantalla.

En este punto nos pedirá los ID, al estar en la misma red, veremos que nos muestran todos los dispositivos disponibles.

Seleccionamos el adecuado y rellenamos la información necesaria. Una vez lo tengamos, le damos a Guardar.

Esto hará que este dispositivo esté disponible en esta instancia de Syncthing.
Compartir una carpeta
Llegamos al punto interesante: Crear una carpeta para compartir entre ambos dispositivos.
Si recuerdas, en el paso de creación del contenedor, creamos una ruta ~/syncthing/shared, será la que utilizaremos. El formulario sería tal que así.

Nos vamos al apartado de Compartir y seleccionaremos el dispositivo que hemos agregado en el paso anterior de Agregar un dispositivo.

Y ahora sí, le damos a Guardar, que nos mostrará de nuevo el panel principal con nuestra carpeta creada y en Actualizado.

Si repetimos este proceso en nuestro otro dispositivo, veremos que nos aparece este mensaje, si quisiéramos hacerlo a la inversa. Tan solo le tendríamos que dar a aceptar y esto agregaría de forma automática la carpeta.

Ahora tenemos una carpeta en ambos dispositivos, que Syncthing se va a encargar de mantener alineada constantemente.
Aplicación Móvil Syncthing Fork
Si deseas tenerlo disponible en el móvil, la aplicación se llama Syncthing-Fork, al menos en la store de Android.
Configuración
Cuando la descargues y la abras, te guiará por los permisos necesarios.

El de almacenamiento es esencial. Puedes limitarlo a una carpeta concreta si lo deseas, pero si posteriormente quieres sincronizar otras fuera de esa ruta, tendrás que modificarlo.

La ubicación permite que pueda rastrear automáticamente otros dispositivos con Syncthing.

Y las notificaciones son para avisarte de los estados de sincronización, o si encuentra algún error.

Generará un par de claves, para cifrar el contenido sincronizado a través de la red, para evitar que puedan ser visibles.

¡Y ya estaríamos en el panel principal de Syncthing en el móvil!

Aquí es donde gestionaremos tanto los dispositivos como las carpetas que queremos mantener sincronizadas.
Agregar un dispositivo
Tendríamos que ir al apartado de Dispositivos para agregar le que hemos creado en el paso de Configuración en nuestro contenedor.

Si le has concedido los permisos de ubicación, verás que te sale ya de forma automática, y si no, siempre puedes poner el ID a mano, o utilizar la cámara para hacerlo mediante el código QR.

Tras darle a Crear en la parte superior derecha, veremos que nuestro dispositivo ya aparece en el listado.

Ahora podremos utilizarlo para que, cuando creemos una carpeta, incluirlo en los destinos de la copia que se haga en la sincronización.
Compartir una carpeta
Ahora, crearemos la carpeta, y la compartiremos con el dispositivo que acabamos de agregar. Rellena los datos como consideres.

Y al darle a Crear en la parte superior derecha, deberá aparecerte en el listado, lista para sincronizar.

Ahora tenemos tanto el dispositivo, como la carpeta creados en la aplicación móvil, listos para usarse.
Probando la sincronización
Si creásemos un fichero de prueba, como el que he hecho desde la terminal de mi servidor:

Podremos ver que ahora aparece en la carpeta que hemos asignado.

Y que al abrirlo nos muestra su contenido sin problemas.

Si creásemos otro para hacer una segunda comprobación:

Sucedería exactamente lo mismo, nos aparecería en el directorio del dispositivo móvil.

Con el mismo contenido que hemos introducido en el servidor.

También he aprovechado para copiar una imagen, la cual podemos ver que aparece en el listado desde la terminal.

Con esto tendríamos la sincronización bidireccional testeada y funcional.
Sincronización Obsidian
Si el paso anterior lo aplicamos sobre un vault de Obsidian, podremos tener sincronizado sin problemas todas nuestras notas. Si la usamos a menudo, podríamos modificar el tiempo de sincronización para que se haga cada minuto, por ejemplo. O incluso qué hacer en caso de conflicto de modificaciones, para tener un versionado en tal caso.
Aquí mi recomendación es esta: Activar el versionado simple.

Te permitirá elegir dónde deja las notas eliminadas por Syncthing al encontrar conflictos de eliminación, o las versiones que no haya podido resolver. Además, incluye cuántas de cada archivo guarda como máximo, y el tiempo antes de eliminarlas.
Es raro que esto sucediese si sólo lo utilizas tú, mientras no estés simultáneamente en la misma nota o archivo en ambos dispositivos sincronizados.
Conclusión
Ahora podemos mantener una carpeta sincronizada entre varios dispositivos, no necesariamente sólo dos. Esto permite aplicarse sobre imágenes, archivos, documentos... Tiene multitud de utilidades.
Es simple e intuitivo, y con la aplicación móvil tenemos muchas posibilidades, incluso utilizarla como cloud para nuestra galería de fotos.
Syncthing NO ES UN NAS
Recuerda que esto no es un NAS, no es una carpeta única que se accede por red; si no una aplicación de sincronización de carpetas. Lo que sucede en un extremo, se replica en el otro. Aunque sí que podrías Instalar Syncthing Sever sobre tu NAS, de forma que uno de los destinos de copia sea ese.
Hay muchas más configuraciones para Syncthing:
- Tiempos de sincronización.
- Métodos de versionado para conflictos.
- Opciones de sincronización única (que tu móvil suba al server, pero no al revés) al estilo Backup automático.
Referencias
Para la realización de este post, se han tomado las siguientes referencias:
- Página oficial: https://syncthing.net/
- Repositorio oficial: https://github.com/syncthing/syncthing/tree/main
- Repositorio DockerHub: https://hub.docker.com/r/syncthing/syncthing
- Guía de instalación con Docker: https://github.com/syncthing/syncthing/blob/main/README-Docker.md