Free Personal Unlimited Dropbox with Resilio Sync and Raspberry Pi

I’ve been using Dropbox for a long time, but recently I’m really in love with Resilio Sync. Well if you have 30mins spare time and raspberry laying around, let’s go!

Image for post
Image for post

I was slightly annoyed at how dropbox isn’t working in countries like China and the fact that the free version now only works on a limited number of devices. Also, I’m not a huge fan of the subscription model — not in this use-case at least.

Recently, I revisited the idea of trying out BT Sync again. Apparently, the then BT Sync is now rebranded as Resilio Sync. I stop using it previously because it was slightly buggy previously, but this time round after trying it out of a month. I really like that it was able to handle most of the different scenarios I was throwing at it.

So, I decided to purchase the Home pro version, and they kindly gave me a discount too, so I was sold almost immediately. Oh~ did I mention I tried it on iOS, macOS, Ubuntu, Windows 10 and Android too?! Yes, you’re probably only limited to the amount of hard disk space you throw at it. And it sure as hell works in China too! Selective syncing works really well for mobile devices, so that was one of the really cool features for me.

I decided to set up a central node using a raspberry pi. On this node, one of its responsibility is to hold a copy of all of the folders between all of the different devices and will run 24/7, I will run this in a headless mode, so I will probably need to setup a NAS on it such that I can drop files into it if I need to.

I’ll skip the part about setting a NAS, if you’re interested in that, look at the article I wrote earlier here.

I’ll start off next with the assumption that we have a group named smbgrp this group will have access to the entire external 4TB USB. The USB drive is mounted onto /mnt/stuffs.

Installing Resilio Sync

First, let’s add the package repository to rasberry.

$ echo "deb http://linux-packages.resilio.com/resilio-sync/deb resilio-sync non-free" | sudo tee /etc/apt/sources.list.d/resilio-sync.list

Next, we need to add the public key.

$ curl -LO http://linux-packages.resilio.com/resilio-sync/key.asc && sudo apt-key add ./key.asc

Finally, update the repository list and install.

$ sudo apt-get update
$ sudo apt-get install resilio-sync

Setting up Resilio Sync

To ensure Resilio sync is up when I do a reboot, I’ll use systemd.

$ sudo systemctl enable resilio-sync

Now, reboot the device and use a Firefox browser. When the raspberry pi is completed booted up. Visit https://x.x.x.x:8888 this is the default url for the web login page.

Note: Firefox browser was the only browser that allowed me to visit the self-signed certificate site. Maybe there is a way to create an exception on Chrome but I haven’t found the way yet.

Follow the steps as shown on the Web UI, setting up a username and password. Finally, if you have an account you can also set it up in this Web UI.

Setting up File Permissions

I think this is the most important part. Firstly, the user rslsync needs to be added to the group and allowed to write and read from that folder.

In this article, it’s assumed the folder we are interested in is /mnt/stuffs and the users in smbgrp will have access to it.

Let’s add the user to the group.

$ sudo usermod -aG smbgrp rslsync

Finally, let’s ensure that the group has access to write and read.

$ sudo chmod g+rw /mnt/stuffs

With that you should then be able to sync without any problems.

References

An avid web developer constantly looking for new web technologies to dabble in, more information can be found on bit.ly/jayden-chua

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store