-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Update installation instructions #10919
Changes from all commits
2e660a7
b2efbc4
8533af9
a8b36e5
a68cb87
6695f9e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| Minor updates to the installation instructions. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -18,19 +18,179 @@ that your email address is probably `user@example.com` rather than | |
|
|
||
| ## Installing Synapse | ||
|
|
||
| ### Installing from source | ||
| ### Prebuilt packages | ||
|
|
||
| Prebuilt packages are available for a number of platforms. These are recommended | ||
| for most users. | ||
|
|
||
| #### Docker images and Ansible playbooks | ||
|
|
||
| There is an official synapse image available at | ||
| <https://hub.docker.com/r/matrixdotorg/synapse> which can be used with | ||
| the docker-compose file available at | ||
| [contrib/docker](https://github.com/matrix-org/synapse/tree/develop/contrib/docker). | ||
| Further information on this including configuration options is available in the README | ||
| on hub.docker.com. | ||
|
|
||
| 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/> | ||
|
|
||
| Slavi Pantaleev has created an Ansible playbook, | ||
| which installs the offical Docker image of Matrix Synapse | ||
| along with many other Matrix-related services (Postgres database, Element, coturn, | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should that be |
||
| ma1sd, SSL support, etc.). | ||
| For more details, see | ||
| <https://github.com/spantaleev/matrix-docker-ansible-deploy> | ||
|
|
||
| #### Debian/Ubuntu | ||
|
|
||
| ##### Matrix.org packages | ||
|
|
||
| Matrix.org provides Debian/Ubuntu packages of Synapse, for the amd64 | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Don't we also do this for arm?
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The answer seems to be no: https://packages.matrix.org/debian/dists/hirsute/main/.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I was thinking of https://github.com/matrix-org/synapse/blob/develop/.github/workflows/docker.yml#L72 but that's a docker container rather than a debian package
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. cf #1496
It was a long time before that. We stopped doing i386 packages when we dropped the python2 packages, back in January 2019. |
||
| architecture via <https://packages.matrix.org/debian/>. | ||
|
|
||
| To install the latest release: | ||
|
|
||
| ```sh | ||
| sudo apt install -y lsb-release wget apt-transport-https | ||
| sudo wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg | ||
| echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main" | | ||
| sudo tee /etc/apt/sources.list.d/matrix-org.list | ||
| sudo apt update | ||
| sudo apt install matrix-synapse-py3 | ||
| ``` | ||
|
|
||
| Packages are also published for release candidates. To enable the prerelease | ||
| channel, add `prerelease` to the `sources.list` line. For example: | ||
|
|
||
| ```sh | ||
| sudo wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg | ||
| echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main prerelease" | | ||
| sudo tee /etc/apt/sources.list.d/matrix-org.list | ||
| sudo apt update | ||
| sudo apt install matrix-synapse-py3 | ||
| ``` | ||
|
|
||
| The fingerprint of the repository signing key (as shown by `gpg | ||
| /usr/share/keyrings/matrix-org-archive-keyring.gpg`) is | ||
| `AAF9AE843A7584B5A3E4CD2BCF45A512DE2DA058`. | ||
|
|
||
| ##### Downstream Debian packages | ||
|
|
||
| We do not recommend using the packages from the default Debian `buster` | ||
| repository at this time, as they are old and suffer from known security | ||
| vulnerabilities. You can install the latest version of Synapse from | ||
| [our repository](#matrixorg-packages) or from `buster-backports`. Please | ||
| see the [Debian documentation](https://backports.debian.org/Instructions/) | ||
| for information on how to use backports. | ||
|
|
||
| If you are using Debian `sid` or testing, Synapse is available in the default | ||
| repositories and it should be possible to install it simply with: | ||
|
|
||
| ```sh | ||
| sudo apt install matrix-synapse | ||
| ``` | ||
|
|
||
| ##### Downstream Ubuntu packages | ||
|
|
||
| We do not recommend using the packages in the default Ubuntu repository | ||
| at this time, as they are old and suffer from known security vulnerabilities. | ||
| The latest version of Synapse can be installed from [our repository](#matrixorg-packages). | ||
|
|
||
| #### Fedora | ||
|
|
||
| Synapse is in the Fedora repositories as `matrix-synapse`: | ||
|
|
||
| ```sh | ||
| sudo dnf install matrix-synapse | ||
| ``` | ||
|
|
||
| Oleg Girko provides Fedora RPMs at | ||
| <https://obs.infoserver.lv/project/monitor/matrix-synapse> | ||
|
|
||
| #### OpenSUSE | ||
|
|
||
| Synapse is in the OpenSUSE repositories as `matrix-synapse`: | ||
|
|
||
| ```sh | ||
| sudo zypper install matrix-synapse | ||
| ``` | ||
|
|
||
| #### SUSE Linux Enterprise Server | ||
|
|
||
| Unofficial package are built for SLES 15 in the openSUSE:Backports:SLE-15 repository at | ||
| <https://download.opensuse.org/repositories/openSUSE:/Backports:/SLE-15/standard/> | ||
|
|
||
| #### ArchLinux | ||
|
|
||
| The quickest way to get up and running with ArchLinux is probably with the community package | ||
| <https://www.archlinux.org/packages/community/any/matrix-synapse/>, which should pull in most of | ||
| the necessary dependencies. | ||
|
|
||
| pip may be outdated (6.0.7-1 and needs to be upgraded to 6.0.8-1 ): | ||
|
|
||
| ```sh | ||
| sudo pip install --upgrade pip | ||
| ``` | ||
|
|
||
| If you encounter an error with lib bcrypt causing an Wrong ELF Class: | ||
| ELFCLASS32 (x64 Systems), you may need to reinstall py-bcrypt to correctly | ||
| compile it under the right architecture. (This should not be needed if | ||
| installing under virtualenv): | ||
|
|
||
| ```sh | ||
| sudo pip uninstall py-bcrypt | ||
| sudo pip install py-bcrypt | ||
| ``` | ||
|
|
||
| #### Void Linux | ||
|
|
||
| Synapse can be found in the void repositories as 'synapse': | ||
|
|
||
| ```sh | ||
| xbps-install -Su | ||
| xbps-install -S synapse | ||
| ``` | ||
|
|
||
| #### FreeBSD | ||
|
|
||
| Synapse can be installed via FreeBSD Ports or Packages contributed by Brendan Molloy from: | ||
|
|
||
| - Ports: `cd /usr/ports/net-im/py-matrix-synapse && make install clean` | ||
| - Packages: `pkg install py37-matrix-synapse` | ||
|
|
||
| #### OpenBSD | ||
|
|
||
| As of OpenBSD 6.7 Synapse is available as a pre-compiled binary. The filesystem | ||
| underlying the homeserver directory (defaults to `/var/synapse`) has to be | ||
| mounted with `wxallowed` (cf. `mount(8)`), so creating a separate filesystem | ||
| and mounting it to `/var/synapse` should be taken into consideration. | ||
|
|
||
| Installing Synapse: | ||
|
|
||
| ```sh | ||
| doas pkg_add synapse | ||
| ``` | ||
|
|
||
| #### NixOS | ||
|
|
||
| Robin Lambertz has packaged Synapse for NixOS at: | ||
| <https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/misc/matrix-synapse.nix> | ||
|
|
||
|
|
||
| ### Installing as a Python module from PyPI | ||
|
|
||
| (Prebuilt packages are available for some platforms - see [Prebuilt packages](#prebuilt-packages).) | ||
| It's also possible to install Synapse as a Python module from PyPI. | ||
|
|
||
| When installing from source please make sure that the [Platform-specific prerequisites](#platform-specific-prerequisites) are already installed. | ||
| When following this route please make sure that the [Platform-specific prerequisites](#platform-specific-prerequisites) are already installed. | ||
|
|
||
| System requirements: | ||
|
|
||
| - POSIX-compliant system (tested on Linux & OS X) | ||
| - Python 3.5.2 or later, up to Python 3.9. | ||
| - Python 3.6 or later, up to Python 3.9. | ||
| - At least 1GB of free RAM if you want to join large public rooms like #matrix:matrix.org | ||
|
|
||
|
|
||
| To install the Synapse homeserver run: | ||
|
|
||
| ```sh | ||
|
|
@@ -203,164 +363,6 @@ be found at <https://docs.microsoft.com/en-us/windows/wsl/install-win10> for | |
| Windows 10 and <https://docs.microsoft.com/en-us/windows/wsl/install-on-server> | ||
| for Windows Server. | ||
|
|
||
| ### Prebuilt packages | ||
|
|
||
| As an alternative to installing from source, prebuilt packages are available | ||
| for a number of platforms. | ||
|
|
||
| #### Docker images and Ansible playbooks | ||
|
|
||
| There is an official synapse image available at | ||
| <https://hub.docker.com/r/matrixdotorg/synapse> which can be used with | ||
| the docker-compose file available at | ||
| [contrib/docker](https://github.com/matrix-org/synapse/tree/develop/contrib/docker). | ||
| Further information on this including configuration options is available in the README | ||
| on hub.docker.com. | ||
|
|
||
| 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/> | ||
|
|
||
| Slavi Pantaleev has created an Ansible playbook, | ||
| which installs the offical Docker image of Matrix Synapse | ||
| along with many other Matrix-related services (Postgres database, Element, coturn, | ||
| ma1sd, SSL support, etc.). | ||
| For more details, see | ||
| <https://github.com/spantaleev/matrix-docker-ansible-deploy> | ||
|
|
||
| #### Debian/Ubuntu | ||
|
|
||
| ##### Matrix.org packages | ||
|
|
||
| Matrix.org provides Debian/Ubuntu packages of Synapse via | ||
| <https://packages.matrix.org/debian/>. To install the latest release: | ||
|
|
||
| ```sh | ||
| sudo apt install -y lsb-release wget apt-transport-https | ||
| sudo wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg | ||
| echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main" | | ||
| sudo tee /etc/apt/sources.list.d/matrix-org.list | ||
| sudo apt update | ||
| sudo apt install matrix-synapse-py3 | ||
| ``` | ||
|
|
||
| Packages are also published for release candidates. To enable the prerelease | ||
| channel, add `prerelease` to the `sources.list` line. For example: | ||
|
|
||
| ```sh | ||
| sudo wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg | ||
| echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main prerelease" | | ||
| sudo tee /etc/apt/sources.list.d/matrix-org.list | ||
| sudo apt update | ||
| sudo apt install matrix-synapse-py3 | ||
| ``` | ||
|
|
||
| The fingerprint of the repository signing key (as shown by `gpg | ||
| /usr/share/keyrings/matrix-org-archive-keyring.gpg`) is | ||
| `AAF9AE843A7584B5A3E4CD2BCF45A512DE2DA058`. | ||
|
|
||
| ##### Downstream Debian packages | ||
|
|
||
| We do not recommend using the packages from the default Debian `buster` | ||
| repository at this time, as they are old and suffer from known security | ||
| vulnerabilities. You can install the latest version of Synapse from | ||
| [our repository](#matrixorg-packages) or from `buster-backports`. Please | ||
| see the [Debian documentation](https://backports.debian.org/Instructions/) | ||
| for information on how to use backports. | ||
|
|
||
| If you are using Debian `sid` or testing, Synapse is available in the default | ||
| repositories and it should be possible to install it simply with: | ||
|
|
||
| ```sh | ||
| sudo apt install matrix-synapse | ||
| ``` | ||
|
|
||
| ##### Downstream Ubuntu packages | ||
|
|
||
| We do not recommend using the packages in the default Ubuntu repository | ||
| at this time, as they are old and suffer from known security vulnerabilities. | ||
| The latest version of Synapse can be installed from [our repository](#matrixorg-packages). | ||
|
|
||
| #### Fedora | ||
|
|
||
| Synapse is in the Fedora repositories as `matrix-synapse`: | ||
|
|
||
| ```sh | ||
| sudo dnf install matrix-synapse | ||
| ``` | ||
|
|
||
| Oleg Girko provides Fedora RPMs at | ||
| <https://obs.infoserver.lv/project/monitor/matrix-synapse> | ||
|
|
||
| #### OpenSUSE | ||
|
|
||
| Synapse is in the OpenSUSE repositories as `matrix-synapse`: | ||
|
|
||
| ```sh | ||
| sudo zypper install matrix-synapse | ||
| ``` | ||
|
|
||
| #### SUSE Linux Enterprise Server | ||
|
|
||
| Unofficial package are built for SLES 15 in the openSUSE:Backports:SLE-15 repository at | ||
| <https://download.opensuse.org/repositories/openSUSE:/Backports:/SLE-15/standard/> | ||
|
|
||
| #### ArchLinux | ||
|
|
||
| The quickest way to get up and running with ArchLinux is probably with the community package | ||
| <https://www.archlinux.org/packages/community/any/matrix-synapse/>, which should pull in most of | ||
| the necessary dependencies. | ||
|
|
||
| pip may be outdated (6.0.7-1 and needs to be upgraded to 6.0.8-1 ): | ||
|
|
||
| ```sh | ||
| sudo pip install --upgrade pip | ||
| ``` | ||
|
|
||
| If you encounter an error with lib bcrypt causing an Wrong ELF Class: | ||
| ELFCLASS32 (x64 Systems), you may need to reinstall py-bcrypt to correctly | ||
| compile it under the right architecture. (This should not be needed if | ||
| installing under virtualenv): | ||
|
|
||
| ```sh | ||
| sudo pip uninstall py-bcrypt | ||
| sudo pip install py-bcrypt | ||
| ``` | ||
|
|
||
| #### Void Linux | ||
|
|
||
| Synapse can be found in the void repositories as 'synapse': | ||
|
|
||
| ```sh | ||
| xbps-install -Su | ||
| xbps-install -S synapse | ||
| ``` | ||
|
|
||
| #### FreeBSD | ||
|
|
||
| Synapse can be installed via FreeBSD Ports or Packages contributed by Brendan Molloy from: | ||
|
|
||
| - Ports: `cd /usr/ports/net-im/py-matrix-synapse && make install clean` | ||
| - Packages: `pkg install py37-matrix-synapse` | ||
|
|
||
| #### OpenBSD | ||
|
|
||
| As of OpenBSD 6.7 Synapse is available as a pre-compiled binary. The filesystem | ||
| underlying the homeserver directory (defaults to `/var/synapse`) has to be | ||
| mounted with `wxallowed` (cf. `mount(8)`), so creating a separate filesystem | ||
| and mounting it to `/var/synapse` should be taken into consideration. | ||
|
|
||
| Installing Synapse: | ||
|
|
||
| ```sh | ||
| doas pkg_add synapse | ||
| ``` | ||
|
|
||
| #### NixOS | ||
|
|
||
| Robin Lambertz has packaged Synapse for NixOS at: | ||
| <https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/misc/matrix-synapse.nix> | ||
|
|
||
| ## Setting up Synapse | ||
|
|
||
| Once you have installed synapse as above, you will need to configure it. | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hadn't seen this syntax before. I thought it'd make markdown sad because I think you can embed HTML in markdown? But apparently it's A Thing in GFM.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FWIW: I don't think this is GFM-specific. (indeed, CommonMark seems to have it for example).
It's commonly used for e-mail addresses in my experience, probably because e-mail itself formats things like
From: Example <example@example.org>; I would guess<..>carried through as a plaintext convention that wound up in Markdown?