Go to file
Ryan Kelly c4c0fa033a Add "force_wsgi_environ" config option.
This is the nuclear option for when your reverse proxy setup doesn't
place nicely with our request-signing thing - it causes the app to
unilaterally clobber its WSGI environment with values from public_url.
2015-02-13 16:26:17 +11:00
syncserver Add "force_wsgi_environ" config option. 2015-02-13 16:26:17 +11:00
.gitignore Use a persistent sqlite db by default, rather than in-memory one. 2014-03-25 16:20:24 +11:00
.travis.yml Add .travis.yml 2014-10-23 15:00:18 +11:00
Dockerfile Only include specific files in the docker build 2014-12-10 19:40:00 +11:00
Makefile Further fixes for umemcached build errors. 2014-12-15 11:45:18 +11:00
MANIFEST.in Add a simple static node assignment backend, for easier deployment. 2014-02-11 19:58:49 +11:00
README.rst readme: use the public url 2014-05-01 00:59:14 -04:00
requirements.txt Update to more recent configparser dependency 2015-01-27 11:56:37 +11:00
setup.py Bump version number 2014-05-28 14:58:43 +10:00
syncserver.ini Add "force_wsgi_environ" config option. 2015-02-13 16:26:17 +11:00
syncserver.wsgi Update syncserver.wsgi 2014-05-06 21:09:59 -04:00

Run-Your-Own Firefox Sync Server
================================

This is an all-in-one package for running a self-hosted Firefox Sync server.
If bundles the "tokenserver" project for authentication and the "syncstorage"
project for storage, produce a single stand-alone webapp.

Complete installation instructions are available at:

   https://docs.services.mozilla.com/howtos/run-sync-1.5.html


Quickstart
----------

The Sync Server software runs using **python 2.6** or later, and the build
process requires **make** and **virtualenv**.  You will need to have the
following packages (or similar, depending on your operating system) installed:

- python2.7
- python2.7-dev
- python-virtualenv
- make

Take a checkout of this repository, then run "make build" to pull in the 
necessary python package dependencies::

    $ git clone https://github.com/mozilla-services/syncserver
    $ cd syncserver
    $ make build

To sanity-check that things got installed correctly, do the following::

    $ make test

Now you can run the server::

    $ make serve

This should start a server on http://localhost:5000/.  

Now go into Firefox's `about:config` page, search for a setting named
"tokenServerURI", and change it to point to your server::

    services.sync.tokenServerURI:  http://localhost:5000/token/1.0/sync/1.5

Firefox should now sync against your local server rather than the default
Mozilla-hosted servers.

For more details on setting up a stable deployment, see:

   https://docs.services.mozilla.com/howtos/run-sync-1.5.html


Customization
-------------

All customization of the server can be done by editing the file
"syncserver.ini", which contains lots of comments to help you on
your way.  Things you might like to change include:

    * The client-visible hostname for your server.  Edit the "public_url"
      key under the [syncstorage] section.

    * The database in which to store sync data.  Edit the "sqluri" setting
      under the [syncstorage] section.


Questions, Feedback
-------------------

- IRC channel: #sync. See http://irc.mozilla.org/
- Mailing list: https://mail.mozilla.org/listinfo/services-dev