Por qué autoalojar Syncthing en un VPS
Syncthing es una herramienta de sincronización de archivos descentralizada: cada dispositivo habla directamente con los demás, sin servidor central ni copia en casa de un proveedor. El problema del peer-to-peer puro es que sus máquinas no siempre están encendidas a la vez: su portátil está apagado cuando el equipo de la oficina quiere sincronizar. Un VPS resuelve exactamente eso: hace de nodo permanente disponible 24/7, presente en Internet con una IP pública estable, hacia el que convergen todos sus dispositivos. Los archivos viajan cifrados (TLS) y el VPS guarda una copia sincronizada que sirve además de copia de seguridad remota. A diferencia de un alojamiento compartido, un VPS permite abrir los puertos de transferencia y mantener un demonio Syncthing activo de forma permanente.
Beneficios concretos de Syncthing en un VPS
- Nodo relé permanente: sus dispositivos ya no necesitan estar encendidos a la vez para sincronizarse.
- Cifrado de extremo a extremo (TLS) entre todos los nodos, sin confiar en ninguna nube.
- Copia de seguridad remota natural: el VPS conserva una copia actualizada de sus carpetas compartidas.
- Versionado de archivos (staggered/simple) configurable carpeta por carpeta para recuperar una versión anterior.
- Ningún coste de almacenamiento por gigabyte: solo cuenta el espacio en disco del VPS.
- Descubrimiento por IP estática: conexión directa y rápida sin depender de los servidores de descubrimiento públicos.
Requisitos técnicos
Syncthing es notablemente frugal en CPU y en RAM, pero es el disco lo que dimensiona el servidor: necesita tanto espacio como volumen de datos vaya a sincronizar. Cuente con 1 vCPU y 1 GB de RAM, más el almacenamiento adaptado a sus carpetas (20, 50 GB o más según sus necesidades). En cuanto a la red, dos puertos deben ser accesibles: 22000 (TCP/UDP, transferencia de datos) y 21027 (UDP, descubrimiento local, opcional en un VPS remoto). La interfaz de administración funciona en el puerto 8384 y debe permanecer protegida sin excepción. Bastan Docker y Docker Compose; un subdominio sync.votredomaine.com resulta útil para acceder a la interfaz por HTTPS a través de un reverse proxy.
Desplegar Syncthing paso a paso
Preparar el contenedor
En el VPS, cree
/opt/syncthingy undocker-compose.ymlbasado en la imagensyncthing/syncthing:latest. Monte un volumen de configuración y un volumen de datos, y fije las variablesPUID/PGIDpara los permisos de archivos.Abrir los puertos de transferencia
Mapee el puerto 22000 en TCP y UDP hacia el contenedor y ábralo en el cortafuegos del VPS:
ufw allow 22000. Por ese puerto circulan los datos entre nodos. No publique el puerto 8384 en Internet.Arrancar Syncthing y recuperar el ID
Arranque con
docker compose up -d. Recupere el identificador del nodo (Device ID) en los logs o desde la interfaz: es la huella única que servirá para emparejar sus demás dispositivos.Proteger la interfaz de administración
Exponga el puerto 8384 únicamente detrás de un reverse proxy HTTPS con autenticación. Con Caddy:
sync.votredomaine.com { reverse_proxy syncthing:8384 }. Defina además un usuario y una contraseña de interfaz en los ajustes GUI de Syncthing.Emparejar sus dispositivos
En cada dispositivo (equipo de escritorio, portátil, móvil), añada el VPS como nuevo dispositivo mediante su Device ID y acepte después la solicitud recíproca en el servidor. Defina una carpeta compartida y elija el modo (solo envío, solo recepción o bidireccional).
Activar el versionado
Para las carpetas importantes, active el versionado «staggered» en el VPS: Syncthing conserva allí las versiones sucesivas de los archivos modificados o eliminados, y convierte su nodo en una red de seguridad frente a los errores de manipulación.
Configure el nodo VPS en modo «Solo recepción» (Receive Only) para las carpetas que solo quiera respaldar: así el servidor nunca sobrescribirá sus dispositivos, se limita a archivar lo que se le envía. Y dado que dispone de una IP estática, desactive los servidores de descubrimiento globales y declare la dirección del VPS de forma fija (tcp://IP:22000) en la configuración de los demás nodos: las conexiones se establecen más rápido y no dependen de ningún servicio externo.