Table of Contents

Run own Firefox Sync 1.5 Server

https://mozilla-services.readthedocs.io/en/latest/howtos/run-sync-1.5.html

Install prerequisites

# apt-get install python-dev git-core python-virtualenv g++

Create Database & Database User

CREATE DATABASE ffsync15;
CREATE USER 'ffsync15'@'localhost' IDENTIFIED BY 'dbpassword';
GRANT ALL privileges ON ffsync15.* TO 'ffsync15'@'localhost';
FLUSH privileges;

Clone Source Code

# cd /opt
# git clone https://github.com/mozilla-services/syncserver

Configure Syncserver

$ # create secret token
$ head -c 20 /dev/urandom | sha1sum
0123456789abcdef0123456789abcdef01234567
 
$ grep -v ^# syncserver.ini | grep -v ^$
[server:main]
use = egg:gunicorn
host = 0.0.0.0
port = 5000
workers = 1
timeout = 30
[app:main]
use = egg:syncserver
[syncserver]
public_url = https://secure.domain.com/ffsync15/
sqluri = pymysql://ffsync15:dbpassword@localhost/ffsync15
secret = 0123456789abcdef0123456789abcdef01234567
force_wsgi_environ = false

Add Configuration to Apache vHost

# Firefox Sync
<IfModule wsgi_module>
    WSGIProcessGroup sync
    WSGIDaemonProcess sync user=www-data group=www-data processes=2 threads=25 python-path=/opt/syncserver/local/lib/python2.7/site-packages/
    WSGIPassAuthorization On
    WSGIScriptAlias /ffsync15 /opt/syncserver/syncserver.wsgi
</IfModule>
 
<Directory /opt/syncserver>
    Require all granted
</Directory>

Configure Firefox

Open “about:config”
Set
identity.sync.tokenserver.uri = https://secure.domain.com/ffsync15/token/1.0/sync/1.5

Create / or login with Firefox Username – Sync Data should land in own sync server