Instalar y configurar Syncthing

MACOSX

Instalación

Uno de los métodos de instalación es a través de Homebrew, para ello debemos instalar HomeBrew ejecutando el siguiente comando en el terminal:

$ ruby -e «$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)»

Luego para instalar Syncthing ejecutamos el siguiente comando en el terminal:
$ brew install syncthing

Para lanzar Syncthing por primera vez:
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.syncthing.plist

Actualización

Debido a que la instalacion se realizo por Homebrew las actualizaciones automaticas estan desactivadas, debemos asegurarnos de que la carpeta /usr/local tiene permisos de escritura.

Luego debemos actualizar Homebrew

$ brew update

y finalmente actualizar Syncthing

Para lanzar Syncthing despues de la actualización:

$ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.syncthing.plist
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.syncthing.plist

LINUX

Instalación 1

Descarga los Repositorios

Agrega los Repositorios

Instalación 2

En el Servidor descargamos los archivos de Syncthing desde su repositorio Github, se debe suplantar el enlace por la versión mas reciente disponible en: https://syncthing.net/

$ wget https://github.com/syncthing/syncthing/releases/download/v0.10.18/syncthing-linux-386-v0.10.18.tar.gz
Descomprimir el paquete de binarios

$ tar xzvf syncthing-linux-386-v0.10.18.tar.gz
Luego copiamos el binario syncthing ubicado en la carpeta que se crea al descomprimir el paquete al directorio /usr/local/bin/

$ sudo cp syncthing-linux-386-v0.10.18/syncthing /usr/local/bin/

autostart linux

Agregar las siguientes lineas al archivo rc.local con el siguiente comando:
sudo nano /etc/rc.local

cd /usr/local/bin/
sudo syncthing &

Configuracion vista remota
Ya en este punto deberiamos tener corriendo syncthing, por default la interfaz web escucha en el puerto 8384 y como medida de seguridad lo hace solo en localhost, lo que quiere decir que por defecto no puedes acceder de forma remota.

Syncthing en el primer arranque crea un archivo config.xml de Configuracion en la ruta ~/.config/syncthing/. Si abrimos este archivo en un editor podemos editarlo para que pueda recibir conexiones desde el exterior y poder administrar Syncthing de forma remota.

Buscamos las siguientes lineas:

127.0.0.1:8384
y reemplazamos la IP 127.0.0.1 por 0.0.0.0
NOTA: Si estas utilizando un Firewall en tu servidor es necesario que abras el puerto 8384 para poder recibir conexiones entrantes.

$ sudo ufw allow 8384
$ sudo ufw allow 22000

CORREGIR ERRORES

Corregir error de base de datos de Syncthing en linux que se manifiesta con el siguiente mensaje de error:

FATAL: Cannot start GUI: listen tcp 0.0.0.0:8384: bind: address already in use

En linux se debe remover el siguiente directorio: /.config/syncthing/index-v0.11.0.db/

$ rm -R /.config/syncthing/index-v0.11.0.db/

CONFIGURAR HORAS DE FUNCIONAMIENTO (SYNCTHING scheduled)

$ crontab -e

0 21 0 0 0 ~/bin/syncthing/syncthing &

59 23 0 0 0 killall syncthing

FUENTES:
https://blog.jam.net.ve/2015/01/07/crea-tu-propia-nube-con-syncthing/
http://docs.syncthing.net/index.html