Yesterday I explained how to Run a personal cloud server on the raspberry pi today I will explain briefly how to run a firefox sync server. Running a firefox sync server yourself has the advantage of not having to entrust anyone with your sensible data. I am not saying that mozilla should not be trusted, I am saying that, where huge amounts of data are stored, there is always a risk involved, that the system gets breached from the outside.
Table of contents:
- A working linux distribution on the pi, for this tutorial I used Arch Linux ARM but any should work.
- Git to clone the repository, can be easily installed on Arch Linux ARM doing
pacman -S git
- The firefox syncserver, available here: https://github.com/mozilla-services/syncserver, can be easily obtained by running
git clone https://github.com/mozilla-services/syncserver.git
- Python VirtualEnv, on Arch Linux ARM you can install it using
pacman -S python-virtualenv, it should automatically install python as well, if not add it manually,
pacman -S python
- Optional: A mounted external drive (USB driver or HDD), reduces the stress on the SDCard, I would always recommend storing files on the external drive
- Optional: GNU screen, allows multiple console management,
pacman -S screenwill install it.
Ensure that you meet all requirements before you continue.
cd into your syncserver directory you cloned with git. Inside, type
make build this should build the syncserver, should any errors be displayed, you’re most likely missing a requirement, be it python or the VirtualEnv. After that you can either run
make test or skip this test and continue with running the server by typing
The first step to make your server working with any firefox browser is to open it and enter the page about:config, search for services.sync.tokenServerURI and modify it according to this pattern: http://yourip_or_domain:5000/token/1.0/sync/1.5 After you’re done with this step, it’s time to login to the firefox sync account (yes you’re using their accounts, but the data is still stored on your server, a potential attacker can not know the location of it). After you’re logged in, ensure that the sync sign appears as normal, also select what you want to sync in the firefox options. If you’re having problems syncing, it might be cause by a router or firewall blocking the port 5000, ensure that it’s open.
Last but not least, we have a option to restrict new systems to sync to the server, I would recommend you activate this option after you logged in with all devices in your possession at least once. The file is located in the main syncserver folder and is called “syncserver.ini”, to prevent new systems from connecting remove the # from the value “allow_new_users = false” which is disabled by default but commented out.
Now enjoy running firefox sync without having second thoughts!