|
@@ -81,7 +81,7 @@ Thanks for using Matrix!
|
|
|
Synapse Installation
|
|
|
====================
|
|
|
|
|
|
-Synapse is the reference python/twisted Matrix homeserver implementation.
|
|
|
+Synapse is the reference Python/Twisted Matrix homeserver implementation.
|
|
|
|
|
|
System requirements:
|
|
|
|
|
@@ -91,12 +91,13 @@ System requirements:
|
|
|
|
|
|
Installing from source
|
|
|
----------------------
|
|
|
+
|
|
|
(Prebuilt packages are available for some platforms - see `Platform-Specific
|
|
|
Instructions`_.)
|
|
|
|
|
|
-Synapse is written in python but some of the libraries it uses are written in
|
|
|
-C. So before we can install synapse itself we need a working C compiler and the
|
|
|
-header files for python C extensions.
|
|
|
+Synapse is written in Python but some of the libraries it uses are written in
|
|
|
+C. So before we can install Synapse itself we need a working C compiler and the
|
|
|
+header files for Python C extensions.
|
|
|
|
|
|
Installing prerequisites on Ubuntu or Debian::
|
|
|
|
|
@@ -143,18 +144,24 @@ Installing prerequisites on OpenBSD::
|
|
|
doas pkg_add python libffi py-pip py-setuptools sqlite3 py-virtualenv \
|
|
|
libxslt
|
|
|
|
|
|
-To install the synapse homeserver run::
|
|
|
+To install the Synapse homeserver run::
|
|
|
|
|
|
virtualenv -p python2.7 ~/.synapse
|
|
|
source ~/.synapse/bin/activate
|
|
|
pip install --upgrade pip
|
|
|
pip install --upgrade setuptools
|
|
|
- pip install https://github.com/matrix-org/synapse/tarball/master
|
|
|
+ pip install matrix-synapse
|
|
|
|
|
|
-This installs synapse, along with the libraries it uses, into a virtual
|
|
|
+This installs Synapse, along with the libraries it uses, into a virtual
|
|
|
environment under ``~/.synapse``. Feel free to pick a different directory
|
|
|
if you prefer.
|
|
|
|
|
|
+This Synapse installation can then be later upgraded by using pip again with the
|
|
|
+update flag::
|
|
|
+
|
|
|
+ source ~/.synapse/bin/activate
|
|
|
+ pip install -U matrix-synapse
|
|
|
+
|
|
|
In case of problems, please see the _`Troubleshooting` section below.
|
|
|
|
|
|
There is an offical synapse image available at
|
|
@@ -167,7 +174,7 @@ Alternatively, Andreas Peters (previously Silvio Fricke) has contributed a
|
|
|
Dockerfile to automate a synapse server in a single Docker image, at
|
|
|
https://hub.docker.com/r/avhost/docker-matrix/tags/
|
|
|
|
|
|
-Configuring synapse
|
|
|
+Configuring Synapse
|
|
|
-------------------
|
|
|
|
|
|
Before you can start Synapse, you will need to generate a configuration
|
|
@@ -249,26 +256,6 @@ Setting up a TURN server
|
|
|
For reliable VoIP calls to be routed via this homeserver, you MUST configure
|
|
|
a TURN server. See `<docs/turn-howto.rst>`_ for details.
|
|
|
|
|
|
-IPv6
|
|
|
-----
|
|
|
-
|
|
|
-As of Synapse 0.19 we finally support IPv6, many thanks to @kyrias and @glyph
|
|
|
-for providing PR #1696.
|
|
|
-
|
|
|
-However, for federation to work on hosts with IPv6 DNS servers you **must**
|
|
|
-be running Twisted 17.1.0 or later - see https://github.com/matrix-org/synapse/issues/1002
|
|
|
-for details. We can't make Synapse depend on Twisted 17.1 by default
|
|
|
-yet as it will break most older distributions (see https://github.com/matrix-org/synapse/pull/1909)
|
|
|
-so if you are using operating system dependencies you'll have to install your
|
|
|
-own Twisted 17.1 package via pip or backports etc.
|
|
|
-
|
|
|
-If you're running in a virtualenv then pip should have installed the newest
|
|
|
-Twisted automatically, but if your virtualenv is old you will need to manually
|
|
|
-upgrade to a newer Twisted dependency via:
|
|
|
-
|
|
|
- pip install Twisted>=17.1.0
|
|
|
-
|
|
|
-
|
|
|
Running Synapse
|
|
|
===============
|
|
|
|
|
@@ -444,8 +431,7 @@ settings require a slightly more difficult installation process.
|
|
|
using the ``.`` command, rather than ``bash``'s ``source``.
|
|
|
5) Optionally, use ``pip`` to install ``lxml``, which Synapse needs to parse
|
|
|
webpages for their titles.
|
|
|
-6) Use ``pip`` to install this repository: ``pip install
|
|
|
- https://github.com/matrix-org/synapse/tarball/master``
|
|
|
+6) Use ``pip`` to install this repository: ``pip install matrix-synapse``
|
|
|
7) Optionally, change ``_synapse``'s shell to ``/bin/false`` to reduce the
|
|
|
chance of a compromised Synapse server being used to take over your box.
|
|
|
|
|
@@ -473,7 +459,7 @@ Troubleshooting
|
|
|
Troubleshooting Installation
|
|
|
----------------------------
|
|
|
|
|
|
-Synapse requires pip 1.7 or later, so if your OS provides too old a version you
|
|
|
+Synapse requires pip 8 or later, so if your OS provides too old a version you
|
|
|
may need to manually upgrade it::
|
|
|
|
|
|
sudo pip install --upgrade pip
|
|
@@ -508,28 +494,6 @@ failing, e.g.::
|
|
|
|
|
|
pip install twisted
|
|
|
|
|
|
-On OS X, if you encounter clang: error: unknown argument: '-mno-fused-madd' you
|
|
|
-will need to export CFLAGS=-Qunused-arguments.
|
|
|
-
|
|
|
-Troubleshooting Running
|
|
|
------------------------
|
|
|
-
|
|
|
-If synapse fails with ``missing "sodium.h"`` crypto errors, you may need
|
|
|
-to manually upgrade PyNaCL, as synapse uses NaCl (https://nacl.cr.yp.to/) for
|
|
|
-encryption and digital signatures.
|
|
|
-Unfortunately PyNACL currently has a few issues
|
|
|
-(https://github.com/pyca/pynacl/issues/53) and
|
|
|
-(https://github.com/pyca/pynacl/issues/79) that mean it may not install
|
|
|
-correctly, causing all tests to fail with errors about missing "sodium.h". To
|
|
|
-fix try re-installing from PyPI or directly from
|
|
|
-(https://github.com/pyca/pynacl)::
|
|
|
-
|
|
|
- # Install from PyPI
|
|
|
- pip install --user --upgrade --force pynacl
|
|
|
-
|
|
|
- # Install from github
|
|
|
- pip install --user https://github.com/pyca/pynacl/tarball/master
|
|
|
-
|
|
|
Running out of File Handles
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|