Tutorial

Alojar Syncthing en su propio VPS

Autoalojamiento9 min de lectura6 pasos

Dropbox y Google Drive almacenan sus archivos en servidores que usted no controla. Syncthing sincroniza sus dispositivos en modo peer-to-peer, cifrado de extremo a extremo y sin nube central. Al alojarlo en un VPS obtiene un nodo siempre encendido que actúa como punto de encuentro fiable entre todos sus dispositivos.

Contenido· Por qué autoalojar Syncthing en un VPS1/10
  1. 01Por qué autoalojar Syncthing en un VPS
  2. 02Beneficios concretos de Syncthing en un VPS
  3. 03Requisitos técnicos
  4. 04Desplegar Syncthing paso a paso
  5. 05Configuración avanzada de carpetas compartidas
  6. 06Conectar varios dispositivos: Android, laptop, NAS
  7. 07Proteger la interfaz web con nginx
  8. 08Monitorizar la salud con la API REST
  9. 09Resolver los errores más frecuentes
  10. 10Syncthing, Nextcloud Files o rclone: cuándo elegir cada uno

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.sudominio.com resulta útil para acceder a la interfaz por HTTPS a través de un reverse proxy.

Desplegar Syncthing paso a paso

  1. Preparar el contenedor

    En el VPS, cree /opt/syncthing y un docker-compose.yml basado en la imagen syncthing/syncthing:latest. Monte un volumen de configuración y un volumen de datos, y fije las variables PUID/PGID para los permisos de archivos.

  2. 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.

  3. 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.

  4. Proteger la interfaz de administración

    Exponga el puerto 8384 únicamente detrás de un reverse proxy HTTPS con autenticación. Con Caddy: sync.sudominio.com { reverse_proxy syncthing:8384 }. Defina además un usuario y una contraseña de interfaz en los ajustes GUI de Syncthing.

  5. Emparejar sus dispositivos

    En cada dispositivo (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).

  6. 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.

Configuración avanzada de carpetas compartidas

Una vez que el despliegue básico funcione, abra la GUI (via sync.sudominio.com) para afinar cada carpeta. Para cada carpeta compartida, establezca el tipo: Envío-Recepción (bidireccional), Solo envío (el VPS no puede modificar sus archivos) o Solo recepción (el VPS archiva sin sobrescribir). El campo Folder ID en la configuración — visible en config.xml bajo /opt/syncthing/config/ — debe ser idéntico en todos los dispositivos que comparten la misma carpeta: es lo que une los nodos. Para el cifrado en el almacenamiento, Syncthing soporta desde la versión 1.15 el modo Encrypted: el VPS nunca ve sus datos en claro, solo almacena blobs cifrados. Actívelo en la pestaña Sharing de una carpeta, opción Encrypted para el dispositivo VPS. Las ACLs de compartición se gestionan por dispositivo: en cada carpeta, seleccione qué dispositivos tienen acceso — un dispositivo no listado no recibe nada aunque conozca su Device ID.

Conectar varios dispositivos: Android, laptop, NAS

La potencia del VPS como hub central se aprecia al conectar un ecosistema completo. En Android, instale Syncthing desde F-Droid (la aplicación oficial, gratuita, sin telemetría de Google) — la versión de Play Store está deprecada desde 2024. Abra Syncthing en el teléfono, copie su Device ID y añádalo en el VPS mediante «Añadir dispositivo». Recíprocamente, añada el VPS en el teléfono con su Device ID y la dirección explícita tcp://IP_VPS:22000 en el campo Direcciones. En un laptop, el proceso es idéntico: instale syncthing desde el gestor de paquetes (apt install syncthing o el binario oficial), inícielo con systemctl --user enable --now syncthing y emparéjelo con el VPS. Para un NAS Synology o TrueNAS, Syncthing está disponible como paquete oficial o contenedor Docker. Desactive los servidores de relay públicos en preferencias avanzadas (relays disabled) y declare tcp://IP_VPS:22000 como dirección estática en cada nodo para conexiones directas y rápidas.

Proteger la interfaz web con nginx

Exponer el puerto 8384 directamente en Internet es un error crítico. La buena práctica es enlazar Syncthing a 127.0.0.1:8384 en la config (Ajustes GUI > Dirección GUI: 127.0.0.1:8384) y poner nginx o Caddy en HTTPS delante. Con nginx, cree un vhost en /etc/nginx/sites-available/sync: defina un bloque server en el puerto 443 con su certificado Let's Encrypt, un location / con proxy_pass http://127.0.0.1:8384 y las cabeceras X-Real-IP, X-Forwarded-For. Añada autenticación HTTP básica (auth_basic, htpasswd) como capa adicional. En config.xml, asegúrese de que <insecureAdminAccess>false</insecureAdminAccess>. Haga copias de seguridad regulares de /opt/syncthing/config/ — contiene las claves TLS del nodo, la configuración de carpetas y los Device IDs emparejados.

Monitorizar la salud con la API REST

Syncthing expone una API REST completa en http://127.0.0.1:8384/rest/. El token de API se encuentra en la GUI bajo Ajustes > GUI > Clave API. Algunas consultas útiles desde el VPS: curl -H 'X-API-Key: SU_CLAVE' http://127.0.0.1:8384/rest/db/status?folder=ID_CARPETA devuelve el estado de sincronización de una carpeta (claves: globalFiles, localFiles, needFiles, state). El estado idle confirma que todo está sincronizado; syncing indica una sincronización en curso; error señala un problema a investigar en los logs. Para monitorización mínima en producción, añada un check que consulte /rest/noauth/health — este endpoint no requiere clave API y devuelve {"status":"OK"} si Syncthing está en marcha.

Resolver los errores más frecuentes

Puerto 22000 inaccesible. Los dispositivos remotos aparecen como «Desconectado» aunque Syncthing esté en marcha. Verifique que se aplicaron ufw allow 22000/tcp y ufw allow 22000/udp (ufw status). Compruebe también que el compose mapea 22000:22000/tcp y 22000:22000/udp — olvidar el mapeo UDP bloquea el descubrimiento. Confirme con nc -zv IP_VPS 22000 desde una máquina remota. Dispositivo no encontrado. Si el autodescubrimiento falla, declare la dirección del VPS manualmente en la config de cada cliente: pestaña Dispositivos > Direcciones > tcp://IP_VPS:22000. Conflicto de versión. Dos dispositivos modificaron el mismo archivo sin conexión. Syncthing crea un archivo .sync-conflict-YYYYMMDD-HHMMSS-DEVICEID junto al original — no hay pérdida de datos. Revise ambas versiones y elimine la que no necesite. Espacio en disco insuficiente. Syncthing deja de sincronizar y entra en estado error si el espacio disponible baja del umbral configurado (por defecto: 1% del disco). Libere espacio o amplíe el disco del VPS; compruebe también que el versionado staggered no conserve años de revisiones — limite el período de retención en los ajustes de la carpeta.

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.

Syncthing, Nextcloud Files o rclone: cuándo elegir cada uno

Desplace la tabla

HerramientaCuándo usarla
SyncthingSincronización peer-to-peer pura. Ideal si solo quiere sincronizar carpetas entre dispositivos sin interfaz web ni compartir enlaces. Consumo mínimo, configuración simple, sin lenguaje de servidor.
Nextcloud FilesSuite completa (compartir enlaces, calendario, contactos, Office en línea). Elija Nextcloud si necesita colaborar o compartir archivos con otras personas. Más pesado: PHP, base de datos, Redis.
rcloneHerramienta de copia/sincronización hacia más de 70 backends (S3, B2, SFTP…). Elija rclone para copias de seguridad programadas hacia almacenamiento de objetos o para migrar datos entre nubes, no para sincronización en tiempo real entre múltiples dispositivos.

Su nube de archivos, sin la nube

El VPS Cloud de ServOrbit, con su IP estática y su disco escalable, es un nodo Syncthing ideal: siempre encendido, cifrado y con copia de seguridad remota incluida. Despliegue la plantilla y sincronice todos sus dispositivos en modo peer-to-peer.

¿Necesita ayuda?

Consulte nuestro centro de ayuda y nuestra FAQ, o contacte con nuestro equipo: llamada, WhatsApp o correo electrónico. Soporte en francés, inglés y árabe.

Escribir por WhatsAppse abre en una pestaña nueva