Tropic Host

Syncthing: qué es y cómo configurar la sincronización de archivos en un VPS

7 min de lectura
Tropic
Syncthing: qué es y cómo configurar la sincronización de archivos en un VPS

Syncthing: sincronización de archivos entre dispositivos sin depender de la nube de terceros

Por la mañana modifica un documento en la computadora portátil y la apaga. Por la noche abre la computadora de casa y la versión más reciente ya está allí. El archivo no pasó por Google Drive ni Dropbox: lo recibió su propio nodo de Syncthing.

Syncthing sincroniza directamente las carpetas seleccionadas entre dispositivos de confianza, mientras el usuario conserva el control sobre el lugar donde se almacenan los datos. No es obligatorio contar con un servidor central.

Sin embargo, si dos computadoras rara vez están conectadas al mismo tiempo, resulta difícil intercambiar los cambios. Un VPS que permanece encendido resuelve el problema: recibe los archivos de un dispositivo y después los transmite a otro.

Es importante entender para qué sirve. Syncthing no es una unidad de red ni un administrador de archivos en el navegador, sino una herramienta para replicar automáticamente las carpetas seleccionadas.

Syncthing en cinco pasos

La configuración mínima es la siguiente:

  1. Instalar Syncthing en las computadoras necesarias.
  2. Ejecutar otra instancia de Syncthing en un VPS.
  3. Abrir el panel del servidor mediante un túnel SSH.
  4. Intercambiar los identificadores de los dispositivos y confirmar la conexión.
  5. Añadir una carpeta compartida, elegir el modo de sincronización y activar el historial de versiones.

Qué es Syncthing y cómo funciona

Syncthing es un programa gratuito y de código abierto para la sincronización continua de archivos. Funciona en Windows, macOS, Linux y otros sistemas operativos de escritorio y servidor.

Cada instalación recibe un Device ID único, es decir, un identificador criptográfico. Para que dos nodos comiencen a intercambiar datos, es necesario añadirlos entre sí y autorizar expresamente el acceso a una carpeta concreta. No existe una cuenta central de Syncthing en la que se almacenen los dispositivos y los archivos.

Cuando un archivo cambia, Syncthing lo divide en bloques, compara las sumas de verificación y transfiere únicamente las partes que faltan. Por eso, una pequeña modificación dentro de un archivo grande no siempre requiere volver a enviar el archivo completo.

Los servicios de descubrimiento ayudan a que los dispositivos se encuentren, pero no almacenan los archivos. Si no es posible establecer una conexión directa, el tráfico cifrado puede pasar por un retransmisor más lento.

Qué cambia al utilizar un VPS

Sin un servidor, la computadora portátil puede sincronizarse directamente con la computadora de casa, pero ambos dispositivos deben estar conectados al mismo tiempo, aunque sea durante unos minutos. Un VPS convierte la configuración en un punto de intercambio siempre disponible.

Por ejemplo, por la mañana la computadora portátil envía un proyecto al servidor y se apaga. Por la noche, la computadora de casa obtiene la nueva versión desde el VPS.

Syncthing es adecuado para documentos, notas de Obsidian, código fuente, fotografías y carpetas familiares. Conviene excluir las cachés, node_modules y los resultados de compilación mediante .stignore. No es recomendable sincronizar bases de datos en ejecución ni imágenes de máquinas virtuales.

El VPS también crea una copia de los datos fuera de casa. Sin embargo, solo se convierte en una copia de seguridad completa cuando se combina con el versionado y un archivo de respaldo independiente: una eliminación accidental también puede propagarse a todos los dispositivos.

Syncthing o Nextcloud: cuál elegir

Las dos herramientas se comparan con frecuencia, aunque resuelven problemas diferentes.

CriterioSyncthingNextcloud
ModeloLas carpetas se copian entre los dispositivosLos archivos se almacenan en un servidor central
Servidor necesarioNo, el VPS es opcional
Acceso a los archivos desde el navegadorNo hay una unidad web completa
Enlaces públicosNo
Edición colaborativaNo está incluidaPuede añadirse
Mejor escenarioMantener las mismas carpetas en los dispositivos propiosCrear una nube personal o para un equipo

Elija Syncthing para una sincronización discreta en segundo plano. Nextcloud es más apropiado cuando necesita acceso web, enlaces para compartir, cuentas de usuario, calendario y funciones de colaboración.

Cómo instalar Syncthing en un VPS con Docker Compose

Los pasos siguientes están pensados para un VPS con Ubuntu 24.04. El panel permanecerá vinculado a la dirección local del servidor y se accederá a él mediante un túnel SSH.

1. Instale Docker

sudo apt update
sudo apt install -y docker.io docker-compose-v2
sudo systemctl enable --now docker

2. Cree el directorio y el archivo Compose

sudo mkdir -p /opt/syncthing/data
sudo chown -R 1000:1000 /opt/syncthing/data
cd /opt/syncthing
sudo nano compose.yaml

Pegue lo siguiente:

services:
  syncthing:
    image: syncthing/syncthing:latest
    container_name: syncthing
    hostname: syncthing-vps
    environment:
      - PUID=1000
      - PGID=1000
      - STGUIADDRESS=
    volumes:
      - ./data:/var/syncthing
    network_mode: host
    restart: unless-stopped

Se utiliza la imagen oficial de Syncthing. El modo de red host facilita las conexiones directas, mientras que el valor vacío de STGUIADDRESS mantiene el panel en 127.0.0.1:8384.

Inicie el contenedor:

sudo docker compose up -d
sudo docker compose ps

3. Permita las conexiones

Primero permita SSH para no perder el acceso al servidor:

sudo ufw allow OpenSSH
sudo ufw allow 22000/tcp
sudo ufw allow 22000/udp
sudo ufw enable

22000/TCP se utiliza para el protocolo principal de sincronización y 22000/UDP para QUIC. No es necesario abrir el puerto 8384 del panel. El puerto de descubrimiento local 21027/UDP tampoco suele ser necesario en un VPS público.

4. Abra el panel mediante SSH

En su computadora, ejecute:

ssh -L 9999:127.0.0.1:8384 root@SERVER_IP

Sin cerrar la terminal, abra:

http://127.0.0.1:9999

En el panel, vaya a Actions → Settings → GUI y establezca un nombre de usuario y una contraseña. Si más adelante necesita acceder mediante un dominio, coloque el panel detrás de un proxy inverso con HTTPS y mantenga activada la autenticación.

5. Añada los dispositivos y la carpeta

Instale Syncthing en la computadora y siga estos pasos:

  1. En la computadora y en el VPS, seleccione Actions → Show ID.
  2. Añada el Device ID de cada nodo al otro dispositivo.
  3. En la computadora, pulse Add Folder, seleccione un directorio y permita que el servidor acceda a él.
  4. En el VPS, acepte la carpeta y establezca una ruta, por ejemplo /var/syncthing/Files.

En las computadoras, mantenga Send & Receive para la sincronización bidireccional. En el VPS suele ser práctico elegir Receive Only: el servidor sigue recibiendo y transmitiendo cambios entre los nodos, pero las modificaciones locales accidentales realizadas directamente en el VPS no se propagan por toda la red.

Por qué Syncthing no sustituye una copia de seguridad

Si un archivo se elimina o se cifra en un dispositivo, ese cambio puede propagarse a los demás. Por ello, conviene abrir la configuración de la carpeta en el VPS y activar File Versioning.

Una opción práctica es Staggered File Versioning con una retención de 30 a 90 días. Cuando un nodo remoto sustituye o elimina un archivo, la versión anterior se mueve a .stversions. Las copias antiguas ocupan espacio en disco, por lo que debe limitarse el período de conservación.

Una configuración fiable consta de tres niveles:

  1. Syncthing mantiene actualizadas las copias de trabajo.
  2. El versionado ayuda a deshacer algunos errores.
  3. Una copia de seguridad separada y programada se almacena de forma independiente de Syncthing.

¿Puede un VPS almacenar los archivos sin ver su contenido?

Syncthing incluye un modo para dispositivos no confiables. En la computadora principal se establece una contraseña para la carpeta y en el VPS se selecciona Receive Encrypted. El servidor almacena los datos cifrados y puede transmitirlos a otro dispositivo de confianza que utilice la misma contraseña.

Se ocultan el contenido, los nombres de los archivos, las marcas de tiempo y la estructura de directorios. La información sobre la carpeta compartida y los tamaños aproximados de los archivos sigue siendo visible.

Los desarrolladores todavía consideran esta función experimental. Guarde por separado la contraseña y el Folder ID: sin ellos, puede resultar imposible recuperar la carpeta cifrada.

Qué VPS necesita Syncthing

El consumo de recursos depende no solo del volumen de datos, sino también de la cantidad de archivos, la frecuencia de los cambios y la indexación inicial. Para un nodo personal con documentos y unas decenas de gigabytes, normalmente basta con una configuración inicial:

  • 1 vCPU;
  • 1 GB de RAM;
  • almacenamiento SSD o NVMe;
  • espacio suficiente para los archivos y .stversions;
  • una conexión de red estable.

Una gran colección de fotografías o cientos de miles de archivos requerirán más recursos. La mayor carga suele producirse durante el primer análisis y el cálculo de los hashes.

Un VPS básico con Ubuntu de tropic.host es adecuado para esta tarea. Puede comenzar con una configuración pequeña y aumentar los recursos a medida que crece la colección. Al elegir la capacidad del disco, tenga en cuenta no solo las carpetas actuales, sino también los archivos futuros, los datos temporales y el historial de versiones.

Cinco errores que conviene evitar

  • Exponer el puerto 8384 a todo Internet. Utilice un túnel SSH para la configuración y, para el acceso web permanente, HTTPS, una contraseña y un proxy inverso.
  • Considerar la copia del servidor como una copia de seguridad completa. Active el versionado y cree archivos de respaldo independientes.
  • Sincronizar cachés y dependencias. Excluya los directorios innecesarios mediante .stignore.
  • No vigilar el uso del disco. El directorio .stversions puede llegar a ocupar un espacio considerable.
  • Mantener como confiable un dispositivo perdido. Elimínelo de los demás nodos y proteja la configuración de Syncthing que contiene las claves del dispositivo.

Qué debe saber sobre los teléfonos inteligentes

La aplicación oficial para Android dejó de mantenerse a finales de 2024, aunque existen clientes de la comunidad. Tampoco hay un cliente oficial para iOS: las restricciones de ejecución en segundo plano dificultan la sincronización continua. Antes de conectar su fototeca principal, pruebe la aplicación móvil elegida con una carpeta pequeña.

Conclusión

Syncthing es adecuado para quienes necesitan las mismas carpetas en varios dispositivos sin depender obligatoriamente de un intermediario en la nube. Un VPS hace que el sistema sea más cómodo: las computadoras ya no tienen que estar conectadas al mismo tiempo y se obtiene una copia siempre disponible fuera de casa.

Para una configuración segura, no exponga directamente el panel administrativo, active el versionado y complemente la sincronización con una copia de seguridad independiente.

FAQ

¿Es necesario un VPS para Syncthing?

No. Los dispositivos pueden sincronizarse directamente. El VPS actúa como un nodo siempre encendido para que puedan intercambiar cambios en momentos diferentes.

¿Se pueden abrir los archivos de Syncthing en el navegador?

El panel web está diseñado para la configuración, no para explorar documentos como en Google Drive. Si necesita una unidad web, Nextcloud es una mejor opción.

¿Syncthing es una solución de copia de seguridad?

No. Las eliminaciones y los daños pueden propagarse a otros dispositivos. El versionado ayuda, pero no sustituye una copia de seguridad independiente.

¿Es necesario abrir el puerto 8384?

No. Mantenga el panel en 127.0.0.1:8384 y conéctese mediante un túnel SSH. Para la sincronización, abra 22000/TCP y 22000/UDP.

¿El propietario del VPS puede leer los archivos?

Con una configuración normal, potencialmente sí. Receive Encrypted los almacena cifrados, pero la función todavía se considera experimental y exige conservar de forma segura la contraseña y el Folder ID.