Manually Installing Resilio Sync (rslSync) on the Raspberry Pi
This document is deprecated.
Please refer to https://www.resilio.com/blog/official-linux-packages-for-sync-now-available. Instructions here to follow.
raspbian on the Raspberry Pi
Once raspbian has been installed or imaged it is very simple to setup Resilio Sync. Normally I would create an image but as this is so simple I will just include the instructions.
Create Folder for Resilio Sync
sudo mkdir -p /opt/resilio/bin sudo mkdir /opt/resilio/app_files cd /opt/resilio/bin sudo wget https://download-cdn.getsync.com/stable/linux-arm/resilio-sync_arm.tar.gz sudo tar -xvf resilio-sync_arm.tar.gz sudo rm -f resilio-sync_arm.tar.gz
Create a Service
sudo vi /etc/init.d/rslsync
Copy the following contents into the file.
#! /bin/sh # /etc/init.d/rslsync # # Carry out specific functions when asked to by the system case "$1" in start) /opt/resilio/bin/rslsync --config /opt/resilio/bin/rslsync.conf ;; stop) killall resilio ;; *) echo "Usage: /etc/init.d/rslsync {start|stop}" exit 1 ;; esac exit 0
Set appropriate permissions for the new file and set defaults for service.
sudo chmod 755 /etc/init.d/rslsync sudo update-rc.d rslsync defaults
Configuration File
Create a configuration file with your required settings. Pay special attention to the login and password fields as the default login is username and the default password is password. Also pay attention to the listening value as I have used port 80 which is the default port for HTTP.
sudo vi /opt/resilio/bin/resilio.conf
Add the following contents to the new file.
{ "device_name": "My Sync Device", "listening_port" : 0, // 0 - randomize port /* storage_path dir contains auxilliary app files if no storage_path field: .sync dir created in current working directory */ // "storage_path" : "/home/user/.sync", /* set location of pid file */ "pid_file" : "/var/run/btsync.pid", /* use UPnP for port mapping */ "use_upnp" : true, /* limits in kB/s. 0 - no limit */ "download_limit" : 0, "upload_limit" : 0, /* proxy configuration */ // "proxy_type" : "socks4", // Valid types: "socks4", "socks5", "http_connect". Any other value means no proxy // "proxy_addr" : "192.168.1.2", // IP address of proxy server. // "proxy_port" : 1080, // "proxy_auth" : false, // Use authentication for proxy. Note: only username/password for socks5 (RFC 1929) is supported, and it is not really secure // "proxy_username" : "user", // "proxy_password" : "password", /* directory_root path defines where the WebUI Folder browser starts (linux only). Default value is / */ // "directory_root" : "/home/user/MySharedFolders/", /* directory_root_policy defines how directory_root is used (linux only). Valid values are: "all" - accepts directory_root and its subdirectories for 'getdir' and 'adddir' actions "belowroot" - accepts directory_root's subdirectories for 'getdir' and 'adddir' actions, but denies attempts to use 'adddir' to create directories directly within directory_root Default value is "all". */ // "directory_root_policy" : "all", "webui" : { "listen" : "0.0.0.0:8888" // remove field to disable WebUI /* preset credentials. Use password or password_hash */ "login" : "admin", "password" : "password" // ,"password_hash" : "some_hash" // password hash in crypt(3) format // ,"allow_empty_password" : false // Defaults to true /* ssl configuration */ // ,"force_https" : true // disable http // ,"ssl_certificate" : "/path/to/cert.pem" // ,"ssl_private_key" : "/path/to/private.key" /* dir_whitelist defines which directories can be shown to user or have folders added (linux only) relative paths are relative to directory_root setting */ // ,"dir_whitelist" : [ "/home/user/MySharedFolders/personal", "work" ] } /* !!! if you set shared folders in config file WebUI will be DISABLED !!! shared directories specified in config file override the folders previously added from WebUI. */ /*, "shared_folders" : [ { "secret" : "MY_SECRET_1", // required field - use --generate-secret in command line to create new secret "dir" : "/home/user/bittorrent/sync_test", // * required field "use_relay_server" : true, // use relay server when direct connection fails "use_tracker" : true, "search_lan" : true, "use_sync_trash" : true, // enable SyncArchive to store files deleted on remote devices "overwrite_changes" : false, // restore modified files to original version, ONLY for Read-Only folders "selective_sync" : false, // add folder in selective sync mode "known_hosts" : // specify hosts to attempt connection without additional search [ "192.168.1.2:44444" ] } ] */ /* Advanced preferences can be added to config file. Info is available at "http://help.getsync.com/customer/portal/articles/1902048-sync-advanced-preferences--more-options" For example see folder_rescan_interval below */ //, "folder_rescan_interval" : "86400" }
Mount a USB Hard Disk
There is not much space if just using the inbuilt SD card as storage so have a look at Mount_USB_Device to connect a USB hard disk to your rPi.