Tener tu propia nube. Syncthing en la Raspberry Pi

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.

Tener tu propia nube. Syncthing en la Raspberry Pi. Portada.

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,

Tener tu propia nube. Syncthing en la Raspberry Pi. Ejemplo.

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,

2 comentarios en “Tener tu propia nube. Syncthing en la Raspberry Pi

  1. UG
    uGeek Podcast hace 7 años

    Gracias por citarme. Estoy preparando el Syncthing a fondo, como uso. Un abrazo

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *