运行你自己的Firefox 同步服务器

・4 分钟阅读

  • 源代码名称: syncserver
  • 源代码网址: https://www.github.com/mozilla-services/syncserver
  • syncserver的文档
  • syncserver的源代码下载
  • Git URL:
    git://www.github.com/mozilla-services/syncserver.git
  • Git Clone代码到本地:
    git clone https://www.github.com/mozilla-services/syncserver
  • Subversion代码到本地:
    $ svn co --depth empty https://www.github.com/mozilla-services/syncserver
                              Checked out revision 1.
                              $ cd repo
                              $ svn up trunk
              
  • 运行自己的Firefox Sync Server https://circleci.com/gh/mozilla-services/syncserver/tree/master.svg?style=svghttps://img.shields.io/docker/automated/mozilla-services/syncserver.svg?style=flat-square

    这是一个用于运行Firefox Sync服务器的一体化软件包。

    完整的安装说明,请访问:

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

    快速入门

    Sync Server软件使用python 2.7运行,构建进程需要make和virtualenv。 你需要安装以下软件包(或类似的,具体取决于你的操作系统):

    • python2.7
    • python2.7-dev
    • python-virtualenv
    • gcc和 g+ +
    • make

    取出这个存储库,然后运行"make build",以获取必要的python 软件包依赖项:

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

    要检查正确安装的内容是否正确,请执行以下操作:

    
    
    
    
    $ make test
    
    
    
    
    

    现在你可以运行服务器:

    
    
    
    
    $ make serve
    
    
    
    
    

    在 http://localhost:5000/服务器上启动服务器。

    现在进入 Firefox 页面的about:config,搜索名为"tokenServerURI"的设置,并将它的改为指向你的服务器:

    
    
    
    
    identity.sync.tokenserver.uri: http://localhost:5000/token/1.0/sync/1.5
    
    
    
    
    

    (在Firefox 42之前,Firefox桌面的TokenServer首选项名称为"services.sync.tokenServerURI "。

    现在 Firefox 应该与本地服务器同步,而不是默认的mozilla托管服务器。

    有关设置稳定部署的更多详细信息,请参见:

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

    你可能想要更改的内容包括:

    • 客户机的客户端可见主机名。 编辑 [syncstorage] 部分下的"public_url"键。
    • 在其中存储同步数据的数据库。 编辑 [syncstorage] 部分下的"sqluri"设置。

    数据库后端模块

    如果你的python安装默认没有提供"sqlite "模块,你可能需要将它作为一个单独的包安装:

    
    
    
    
    $./local/bin/pip install pysqlite2
    
    
    
    
    

    同样,如果要使用不同的数据库后端,则需要安装适当的python模块,例如:

    
    
    
    
    $./local/bin/pip install PyMySQL
    
    
    $./local/bin/pip install psycopg2
    
    
    
    
    

    Docker下运行

    
    
    
    
    $ docker build -t syncserver:latest. 
    
    
    
    
    

    然后,你可以通过将配置选项作为environmet变量传递来运行服务器,如下所示:

    
    
    
    
    $ docker run --rm 
    
    
     -p 5000:5000 
    
    
     -e SYNCSERVER_PUBLIC_URL=http://localhost:5000 
    
    
     -e SYNCSERVER_SECRET=5up3rS3kr1t 
    
    
     -e SYNCSERVER_SQLURI=sqlite:////tmp/syncserver.db 
    
    
     -e SYNCSERVER_BATCH_UPLOAD_ENABLED=true 
    
    
     -e SYNCSERVER_FORCE_WSGI_ENVIRON=false 
    
    
     syncserver:latest 
    
    
    /usr/local/bin/gunicorn --bind 0.0.0.0:5000 
    
    
     syncserver.wsgi_app
    
    
    
    
    

    你可以使用内置测试套件,测试它是否在正常运行,如下所示:

    
    
    
    
    $/local/bin/python -m syncstorage.tests.functional.test_storage 
    
    
     --use-token-server http://localhost:5000/token/1.0/sync/1.5
    
    
    
    
    

    问题,反馈

    讨论
    Fansisi profile image