Syncthing tu propia nube para torpes

Syncthing es una de las opciones que he probado y que me han resultado más fáciles y más interesantes a la hora de crear una nube privada para compartir y mantener una copia de archivos e información. También podemos hacer esto con servicios de terceros y fuera de nuestra casa y control, como serían los famosos Dropbox y Google Drive o las opciones personales como arkOS, ownCloud o Nextcloud.

Pero volviendo a la opción fácil pero no menos potente, tenemos Syncthing que tiene cliente para compartir en Windows, Mac, Linux, Android, BSD, etc.

No es una instalación tipo servidor a la que luego accederemos para copiar algo concreto, sino que es una filosofía tipo Dropbox con dos carpetas idénticas con todo copiado y sincronizado entre nuestra Raspberry Pi u Orange Pi y nuestro PC o Mac. Además de que esto lo podremos hacer en una red local o desde cualquier parte del mundo.

Hay que tener en cuenta que se necesita tener una instalación gráfica ya que se configura y gestiona desde una página web por lo que en principio no es una buena idea o nos complica las cosas si lo usamos en un servidor sin monitor, o sea, headless. Esto además no solo será necesario para la primera configuración, sino que cada vez que vayamos a añadir un equipo o nuestra red de intercambio habrá que darle permisos en ambos extremos, lo cual es una garantía de seguridad.

Las instrucciones de la instalación en la Raspberry Pi y equivalentes las podéis encontrar en este enlace y a día de hoy son las siguientes a ejecutar desde una Terminal:

curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
sudo echo "deb https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list

Luego actualizamos e instalamos:

sudo apt-get update 
sudo apt-get install syncthing

Podría dar algún error si os falta la opción de instalar desde https así que la añadimos con este comando y luego instalamos:

sudo apt-get install apt-transport-https
sudo apt-get install syncthing

Y ya podemos lanzar la aplicación desde una Terminal syncthing:

Y esto abrirá inmediatamente una página web en el puerto 8384 para configurar la aplicación, incluyendo el idioma que puede ser español. Desde esta web también elegiremos las carpetas a compartir.

Ahora toca instalarlo y ponerlo en marcha en el otro equipo, en mi caso un PC con Ubuntu:

Estas serían las opciones a la hora de configurarlo.

Una vez que ya tenemos al menos 2 equipos configurados, la web de nuestro Syncthing nos indica información del equipo local (This Device) y del remoto (Remote Devices)

Si queremos acceder a un servidor sin monitor tendremos que redireccionar los puertos por SSH lo cual en Linux es así de sencillo para tener el puerto remoto 8384 en el 9090 de nuestro equipo:

ssh -L 9090:127.0.0.1:8384 usuario-raspberry@ip-raspberry

El cliente de Syncthing para Android es un poco más simplón y no está a la altura del resto, pero un apaño si nos hace. Además en este caso no es sincronización completa:

Igualmente si queremos que el servidor arranque automáticamente al iniciarse la Raspberry Pi o la Orange Pi solo tenemos que habilitar el servicio para nuestro usuario desde una Terminal:

systemctl --user enable syncthing.service

Y reiniciar para comprobar que funciona con el siguiente comando en una Terminal como siempre:

systemctl --user status syncthing.service

Y deberíamos ver una pantalla como esta: