FreedomBox/doc/manual/en/MatrixSynapse.raw.xml
James Valleroy eac1256b4b
doc: Fetch latest manual
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2020-05-18 19:42:28 -04:00

7 lines
14 KiB
XML

<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN' 'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>FreedomBox/Manual/MatrixSynapse</title><revhistory><revision><revnumber>17</revnumber><date>2020-03-21 20:17:34</date><authorinitials>Drahtseil</authorinitials><revremark>Clearer explanation of users activated. Add port forwarding</revremark></revision><revision><revnumber>16</revnumber><date>2020-01-03 23:07:19</date><authorinitials>JamesValleroy</authorinitials><revremark>minor spelling fix</revremark></revision><revision><revnumber>15</revnumber><date>2020-01-03 12:47:36</date><authorinitials>fioddor</authorinitials><revremark>Minor correction</revremark></revision><revision><revnumber>14</revnumber><date>2020-01-03 12:46:45</date><authorinitials>fioddor</authorinitials><revremark>Minor clarifications</revremark></revision><revision><revnumber>13</revnumber><date>2019-12-27 15:42:46</date><authorinitials>chkmue</authorinitials></revision><revision><revnumber>12</revnumber><date>2019-10-07 23:01:22</date><authorinitials>JamesValleroy</authorinitials><revremark>fix spelling</revremark></revision><revision><revnumber>11</revnumber><date>2019-09-25 18:31:37</date><authorinitials>SunilMohanAdapa</authorinitials><revremark>Add section for advanced administration commands</revremark></revision><revision><revnumber>10</revnumber><date>2019-03-01 17:53:22</date><authorinitials>JosephNuthalapati</authorinitials><revremark>Escape FreedomBox hyperlinks</revremark></revision><revision><revnumber>9</revnumber><date>2019-02-27 21:16:58</date><authorinitials>JosephNuthalapati</authorinitials><revremark>Mention IRC as an alternative for large Matrix rooms</revremark></revision><revision><revnumber>8</revnumber><date>2019-02-13 09:09:45</date><authorinitials>JosephNuthalapati</authorinitials><revremark>Remove pop-culture references. Add notes about large rooms and memory usage.</revremark></revision><revision><revnumber>7</revnumber><date>2019-01-14 20:16:04</date><authorinitials>Drahtseil</authorinitials><revremark>System requirements</revremark></revision><revision><revnumber>6</revnumber><date>2018-03-02 12:06:08</date><authorinitials>JosephNuthalapati</authorinitials></revision><revision><revnumber>5</revnumber><date>2018-03-02 10:44:12</date><authorinitials>JosephNuthalapati</authorinitials><revremark>Naming was inconsistent</revremark></revision><revision><revnumber>4</revnumber><date>2017-06-27 05:13:41</date><authorinitials>JosephNuthalapati</authorinitials></revision><revision><revnumber>3</revnumber><date>2017-03-24 06:42:49</date><authorinitials>SunilMohanAdapa</authorinitials><revremark>Update for explaining more features etc.</revremark></revision><revision><revnumber>2</revnumber><date>2017-03-23 06:36:05</date><authorinitials>rahulde</authorinitials></revision><revision><revnumber>1</revnumber><date>2017-03-23 06:33:43</date><authorinitials>rahulde</authorinitials></revision></revhistory></articleinfo><section><title>Chat Server (Matrix Synapse)</title><section><title>What is Matrix?</title><para><ulink url="https://matrix.org/">Matrix</ulink> is an open standard for interoperable, decentralized, real-time communication over IP. Synapse is the reference implementation of a Matrix server. It can be used to setup instant messaging on FreedomBox to host large chat rooms, end-to-end encrypted communication and audio/video calls. Matrix Synapse is a federated application where chat rooms can exist on any server and users from any server in the federated network can join them. <ulink url="https://matrix.org/docs/guides/faq.html">Learn more</ulink> about Matrix. </para><para><emphasis role="strong">Available since:</emphasis> version 0.14.0 </para></section><section><title>How to access your Matrix Synapse server?</title><para>We recommend the <ulink url="https://riot.im">Riot</ulink> client to access the Matrix Synapse server. You can <ulink url="https://riot.im/desktop.html">download</ulink> Riot for desktops. Mobile applications for Android and iOS are available from their respective app stores. </para></section><section><title>Setting up Matrix Synapse on your FreedomBox</title><para>To enable Matrix, first navigate to the Chat Server (Matrix Synapse) page and install it. Matrix needs a valid domain name to be configured. After installation, you will be asked to configure it. You will be able to select a domain from a drop down menu of available domains. Domains are configured using System -&gt; Configure page. After configuring a domain, you will see that the service is running. The service will be accessible on the configured FreedomBox domain. Currently, you will not be able to change the domain once is it configured. </para><para>Your router has to be configured to forward port 8448. </para><para>All the registered users of your FreedomBox will have their Matrix IDs as <code>@username:domain</code>. If public registration is enabled, also your chosen client can be used to register a user account. </para></section><section><title>Federating with other Matrix instances</title><para>You will be able to interact with any other person running another Matrix instance. This is done by simply starting a conversation with them using their matrix ID which is of the format <code>@their-username:their-domain</code>. You can also join rooms which are in another server and have audio/video calls with contacts on other server. </para></section><section><title>Memory usage</title><para>The Synapse reference server implemented in Python is known to be quite RAM hungry, especially when loading large rooms with thousands of members like #matrix:matrix.org. It is recommended to avoid joining such rooms if your FreedomBox device only has 1 GiB RAM or less. Rooms with up to a hundred members should be safe to join. The Matrix team is working on a new implementation of the Matrix server written in Go called Dendrite which might perform better in low-memory environments. </para><para>Some large public rooms in the Matrix network are also available as IRC channels (e.g. #freedombox:matrix.org is also available as #freedombox on irc.debian.org). It is better to use IRC instead of Matrix for such large rooms. You can join the IRC channels using <ulink url="https://wiki.debian.org/FreedomBox/Manual/MatrixSynapse/FreedomBox/Manual/Quassel#">Quassel</ulink>. </para></section><section><title>Advanced usage</title><orderedlist numeration="arabic"><listitem><para>If you wish to create a large number of users on your Matrix Synapse server, use the following commands on a remote shell as root user: </para><itemizedlist><listitem override="none"><screen><![CDATA[cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1 | sed "s+^+registration_shared_secret: +" > /etc/matrix-synapse/conf.d/registration_shared_secret.yaml
chmod 600 /etc/matrix-synapse/conf.d/registration_shared_secret.yaml
chown matrix-synapse:nogroup /etc/matrix-synapse/conf.d/registration_shared_secret.yaml
systemctl restart matrix-synapse
register_new_matrix_user -c /etc/matrix-synapse/conf.d/registration_shared_secret.yaml]]></screen></listitem></itemizedlist></listitem><listitem><para>If you wish to see the list of users registered in Matrix Synapse, the following as root user: </para><itemizedlist><listitem override="none"><screen><![CDATA[apt install sqlite3
echo 'select name from users' | sqlite3 /var/lib/matrix-synapse/homeserver.db ]]></screen></listitem></itemizedlist></listitem><listitem><para>If you wish to create a community in Matrix Synapse, a Matrix user with server admin privileges is needed. In order to grant such privileges to <code>username</code> run the following commands as root user: </para><itemizedlist><listitem override="none"><screen><![CDATA[sudo apt install sqlite3
echo "UPDATE users SET admin=1 WHERE name='@username:domainname'" | sudo sqlite3 /var/lib/matrix-synapse/homeserver.db ]]></screen></listitem></itemizedlist></listitem></orderedlist><para>Back to <ulink url="https://wiki.debian.org/FreedomBox/Manual/MatrixSynapse/FreedomBox/Features#">Features introduction</ulink> or <ulink url="https://wiki.debian.org/FreedomBox/Manual/MatrixSynapse/FreedomBox/Manual#">manual</ulink> pages. </para><!--rule (<hr>) is not applicable to DocBook--><informaltable><tgroup cols="8"><colspec colname="col_0"/><colspec colname="col_1"/><colspec colname="col_2"/><colspec colname="col_3"/><colspec colname="col_4"/><colspec colname="col_5"/><colspec colname="col_6"/><colspec colname="col_7"/><tbody><row rowsep="1"><entry colsep="1" rowsep="1"><para><emphasis role="strong">Information</emphasis></para></entry><entry colsep="1" rowsep="1"/><entry colsep="1" rowsep="1"/><entry colsep="1" rowsep="1"><para><emphasis role="strong">Support</emphasis></para></entry><entry colsep="1" rowsep="1"><para><emphasis role="strong">Contribute</emphasis></para></entry><entry colsep="1" rowsep="1"/><entry colsep="1" rowsep="1"><para><emphasis role="strong">Reports</emphasis></para></entry><entry colsep="1" rowsep="1"><para><emphasis role="strong">Promote</emphasis></para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><ulink url="https://wiki.debian.org/FreedomBox/Manual/MatrixSynapse/FreedomBox/Introduction#">Overview</ulink> </para></entry><entry colsep="1" rowsep="1"><para><ulink url="https://wiki.debian.org/FreedomBox/Manual/MatrixSynapse/FreedomBox/Hardware#">Hardware</ulink> </para></entry><entry colsep="1" rowsep="1"><para><emphasis role="strong"> </emphasis></para></entry><entry colsep="1" rowsep="1"><para><ulink url="https://wiki.debian.org/FreedomBox/Manual/MatrixSynapse/FreedomBox/Support#">Live Help</ulink> </para></entry><entry colsep="1" rowsep="1"><para><ulink url="https://wiki.debian.org/FreedomBox/Manual/MatrixSynapse/FreedomBox/Contribute#">Where To Start</ulink> </para></entry><entry colsep="1" rowsep="1"><para><ulink url="https://wiki.debian.org/FreedomBox/Manual/MatrixSynapse/FreedomBox/Translate#">Translate</ulink> </para></entry><entry colsep="1" rowsep="1"><para><ulink url="https://wiki.debian.org/FreedomBox/Manual/MatrixSynapse/FreedomBox/ProgressCalls#">Calls</ulink> </para></entry><entry colsep="1" rowsep="1"><para><ulink url="https://wiki.debian.org/FreedomBox/Manual/MatrixSynapse/FreedomBox/TalksAndPresentations#">Talks</ulink> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><ulink url="https://wiki.debian.org/FreedomBox/Manual/MatrixSynapse/FreedomBox/Features#">Features</ulink> </para></entry><entry colsep="1" rowsep="1"><para><ulink url="https://wiki.debian.org/FreedomBox/Manual/MatrixSynapse/FreedomBox/Vision#">Vision</ulink> </para></entry><entry colsep="1" rowsep="1"><para><emphasis role="strong"> </emphasis></para></entry><entry colsep="1" rowsep="1"><para><ulink url="https://wiki.debian.org/FreedomBox/Manual/MatrixSynapse/FreedomBox/QuestionsAndAnswers#">Q&amp;A</ulink> </para></entry><entry colsep="1" rowsep="1"><para><ulink url="https://wiki.debian.org/FreedomBox/Manual/MatrixSynapse/FreedomBox/Design#">Design</ulink> </para></entry><entry colsep="1" rowsep="1"><para><ulink url="https://wiki.debian.org/FreedomBox/Manual/MatrixSynapse/FreedomBox/TODO#">To Do</ulink> </para></entry><entry colsep="1" rowsep="1"><para><ulink url="https://wiki.debian.org/FreedomBox/Manual/MatrixSynapse/FreedomBox/ReleaseNotes#">Releases</ulink> </para></entry><entry colsep="1" rowsep="1"><para><ulink url="https://wiki.debian.org/FreedomBox/Manual/MatrixSynapse/FreedomBox/Press#">Press</ulink> </para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1"><para><ulink url="https://wiki.debian.org/FreedomBox/Manual/MatrixSynapse/FreedomBox/Download#">Download</ulink> </para></entry><entry colsep="1" rowsep="1"><para><ulink url="https://wiki.debian.org/FreedomBox/Manual/MatrixSynapse/FreedomBox/Manual#">Manual</ulink> </para></entry><entry colsep="1" rowsep="1"><para><emphasis role="strong"> </emphasis></para></entry><entry colsep="1" rowsep="1"/><entry colsep="1" rowsep="1"><para><ulink url="https://wiki.debian.org/FreedomBox/Manual/MatrixSynapse/FreedomBox/Contribute/Code#">Code</ulink> </para></entry><entry colsep="1" rowsep="1"><para><ulink url="https://wiki.debian.org/FreedomBox/Manual/MatrixSynapse/FreedomBox/Contributors#">Contributors</ulink> </para></entry><entry colsep="1" rowsep="1"/><entry colsep="1" rowsep="1"><para><ulink url="https://wiki.debian.org/FreedomBox/Manual/MatrixSynapse/FreedomBox/Blog#">Blog</ulink> </para></entry></row><row rowsep="1"><entry colsep="1" nameend="col_1" namest="col_0" rowsep="1"><para> <ulink url="https://en.wikibooks.org/wiki/FreedomBox_for_Communities">FreedomBox for Communities</ulink> </para></entry><entry colsep="1" rowsep="1"/><entry colsep="1" rowsep="1"/><entry colsep="1" nameend="col_5" namest="col_4" rowsep="1"><para> <ulink url="https://docs.freedombox.org">FreedomBox Developer Manual</ulink> </para></entry><entry colsep="1" rowsep="1"/><entry colsep="1" rowsep="1"/></row></tbody></tgroup></informaltable><para><!--"~-smaller-~" is not applicable to DocBook-->HELP &amp; DISCUSSIONS: <ulink url="https://discuss.freedombox.org">Discussion Forum</ulink> - <ulink url="https://lists.alioth.debian.org/mailman/listinfo/freedombox-discuss">Mailing List</ulink> - <ulink url="irc://irc.debian.org/freedombox">#freedombox irc.debian.org</ulink> | CONTACT <ulink url="https://freedomboxfoundation.org/">Foundation</ulink> | JOIN <ulink url="https://salsa.debian.org/freedombox-team/">Project</ulink> </para><para><link linkend="">Next call</link>: Sunday, May 24th at 17:00 UTC </para><para><link linkend="">Latest news</link>: Announcing Pioneer FreedomBox Kits - 2019-03-26 </para><para>This page is copyright its contributors and is licensed under the <ulink url="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)</ulink> license. </para><!--rule (<hr>) is not applicable to DocBook--><para> <ulink url="https://wiki.debian.org/FreedomBox/Manual/MatrixSynapse/CategoryFreedomBox#">CategoryFreedomBox</ulink> </para></section></section></article>