Este es uno de los capítulos del tutorial La Raspberry Pi. Primera primeros pasos.. Encontrarás los enlaces a todos los de capítulos, al final de este artículo.
Si quieres salvaguardar la información que tienes en tus dispositivos, tienes dos opciones, o bien confiar en un servicio ajeno o en uno propio. La idea de confiar en uno ajeno como por ejemplo Google Drive, tiene sus ventajas, y es que te despreocupas por completo de su mantenimiento. Como contrapartida, en el caso de un servicio ajeno, tienes el problema de que tus datos los maneja otro. Por contra, en el caso de un servicio propio, tu tienes tus datos, pero tu tienes que preocuparte de que todo funcione y que funcione correctamente. Con todo y con eso, cada vez surgen mas y mas servicios, que puedes instalar por tu cuenta, y cuyo mantenimiento es relativamente sencillo. En este artículo veremos uno de estos servicios de sincronización entre dispositivos. Como instalar y configurar Syncthing en la Raspberry Pi.
Sobre Syncthing, ya escribí hace algún tiempo, en el artículo Sincronización entre Ubuntu y Android, sin embargo, creo que no le he dedicado el tiempo que se merece, pues sin dudas, es una solución de sincronización realmente potente.
Syncthing en la Raspberry Pi
¿Que es Syncthing?
Syncthing es una aplicación software libre, multiplataforma, para la sincronización entre dispositivos utilizando la tecnología P2P, ya sea en una red local o en Internet. Actualmente, en el momento de escribir este artículo, está disponible para Windows, Mac, Linux, Android, Solaris, Darwin y BSD.
Syncthing reemplaza los servicios propietarios de sincronización y nube por un sistema abierto, confiable y descentralizado. Tus datos son solo tus datos y mereces elegir dónde guardarlo, si lo quieres compartir con un tercero y cómo enviarlo por Internet.
Instalación de Syncthing en la Raspberry Pi
Antes de comenzar con la instalación de Syncthing, al igual que hacemos en otras instalaciones, es conveniente tanto actualizar los paquetes del sistema,
sudo apt update sudo apt upgrade
Como actualizar el firmare de la Raspberry Pi, para lo que ejecutaremos la siguiente orden,
sudo rpi-update
Una vez lo tenemos todo actualizado, e incluso, reiniciada la Raspberry Pi, en caso de ser necesario, vamos con la instalación. Syncthing se encuentra en los repositorios, con lo que instalar Syncthing en la Raspberry Pi, es tan sencillo, como abrir un terminal y ejecutar la siguiente orden,
sudo apt install syncthing
Si al hacer la instalación tienes algún error, indicando que instales el paquete apt-transport-https
, simplemente,
sudo apt install apt-transport-https sudo apt install -f
Configurar Syncthing en la Raspberry Pi
Una vez terminado el proceso de instalación, tienes que iniciar syncthing
de forma manual, ejecutando en el terminal,
syncthing
Espera hasta que que en las líneas que aparecen en la terminal veas algo como lo que te muestro a continuación,
INFO: Device 7NNIJMJ-RQ657WA-RI5YH6L-RQ657WA-RQ657WA-VGKSUYP-U6QBJNA-RQ657WA write down this number or copy it if you SSH'd to your pi.
Cuando veas algo parecido a eso, con otro número de dispositivo (claro), para la aplicación, pulsando el atajo de teclado Ctrl+C
.
Ahora tienes que editar el archivo ~/.config/syncthing/config.xml
, donde debes cambiar la dirección 127.0.0.1
a 0.0.0.0
. De forma que quede de la siguiente manera,
<gui enabled="true" tls="false" debugging="false"> <address>0.0.0.0:8384</address> <user></user> <password></password> <apikey></apikey> <theme>default</theme> </gui>
Es posible que el resto de parámetros varíen respecto de los que te indico, pero lo importante es <address>0.0.0.0:8384</address>
.
Autoarranque de Syncthing en la Raspberry Pi
La Raspberry Pi utiliza systemd
, sin embargo, Synthing en la Raspberry Pi no tiene los archivos necesarios para su funcionamiento. Tenemos dos opciones, o bien los creas o lo copias directamente del repositorio. El archivo en cuestion es /etc/systemd/system/syncthing@.service
, y su contenido debe ser el siguiente,
[Unit] Description=Syncthing - Open Source Continuous File Synchronization for %I Documentation=man:syncthing(1) After=network.target Wants=syncthing-inotify@.service [Service] User=%i ExecStart=/usr/bin/syncthing -no-browser -no-restart -logflags=0 Restart=on-failure SuccessExitStatus=3 4 RestartForceExitStatus=3 4 [Install] WantedBy=multi-user.target
En el caso de que lo quieras descargar y copiar, tan solo tienes que ejecutar las siguientes órdenes en el terminal,
wget https://raw.githubusercontent.com/syncthing/syncthing/master/etc/linux-systemd/system/syncthing%40.service sudo mv syncthing@.service /etc/systemd/system/
Arrancando y parando Syncthing en la Raspberry Pi
Una vez ya lo tienes todo configurado, solo te queda habilitar e iniciar el servicio. Igualmente, es recomendable que compruebes el estado del servicio. Para ello, ejecuta las siguientes órdenes,
sudo systemctl enable syncthing@pi.service sudo systemctl start syncthing@pi.service systemctl status syncthing@pi.service
Las dos primeras órdenes habilitan e inician el servicio, mientras que la última comprueba el estado del servicio. Si quieres detener el servicio, tan solo tendrás que ejecutar, sudo systemctl stop syncthing@pi.service
.
Probando Syncthing en la Raspberry Pi
Una vez configurado todo, siguiendo los pasos indicados anteriormente, abre un navegador de Internet, y dirígete a la IP de tu Raspberry y al puerto 8384
, que es el configurado por defecto (a menos que lo hayas cambiado).
Llegados a este punto tienes que ver algo como lo que te muestro en la siguiente captura de pantalla,
Ahora solo te queda indicar que directorios quieres compartir y en que condiciones. Y es que Syncthing dispone de todo un mundo de posibilidades a la hora de configurar la sincronización. Y todo esto definido por cada uno de los directorios que quieras compartir.
Así puedes definir,
- El intervalo de escaneo en busca de cambios.
- El espacion mínimo libre en disco
- Si la carpeta es de enviar y recibir o solo de enviar
- Si se ignoran los permisos
- El orden de obtención de los ficheros
- Si quieres sistema de control de versiones de archivos y que sistema.
- También te permite ignorar diferentes archivos en función de patrones.
Conclusiones
Como has podido ver la instalación de Syncthing en la Raspberry Pi, es un proceso relativamente sencillo. Y lo mas importante, es que para lo sencillo que es, te abre todo un mundo de posibilidades. En pocos pasos puedes tener tu propia nube, sin necesidad de depender de terceros, y siendo tu el dueño de tu información.
Te recomiendo que escuches el podcast de uGeek, en el que encontrarás mucha mas información sobre Syncthing y otros servicios de sincronización en la nube.
Más información,
Gracias por citarme. Estoy preparando el Syncthing a fondo, como uso. Un abrazo
Por cierto, muy completo el post como siempre👍