Difference between revisions of "Matrix"

From Organic Design wiki
(See also: Docker installation with PostgreSQL)
(Troubleshooting)
Line 18: Line 18:
 
<source lang="bash">
 
<source lang="bash">
 
docker exec -it <CONTAINER_ID> register_new_matrix_user -c /data/homeserver.yaml http://localhost:8008
 
docker exec -it <CONTAINER_ID> register_new_matrix_user -c /data/homeserver.yaml http://localhost:8008
 +
</source>
 +
 +
== Troubleshooting ==
 +
Check <tt>https://YOURDOMAIN/_matrix/client/versions</tt> in a browser, it should respond with something like the following:
 +
<source lang="json">
 +
{
 +
  "versions": ["r0.0.1", "r0.1.0", "r0.2.0", "r0.3.0", "r0.4.0", "r0.5.0"],
 +
  "unstable_features": {
 +
    "m.id_access_token": true,
 +
    "m.require_identity_server": false,
 +
    "m.separate_add_and_bind": true,
 +
    "org.matrix.label_based_filtering": true,
 +
    "org.matrix.e2e_cross_signing": true,
 +
    "org.matrix.msc2432": true
 +
  }
 +
}
 +
</source>
 +
 +
 +
And it should have the following CORS headers:
 +
<source>
 +
access-control-allow-headers  Origin, X-Requested-With, Cont…t-Type, Accept, Authorization
 +
access-control-allow-methods  GET, POST, PUT, DELETE, OPTIONS
 +
access-control-allow-origin    *
 
</source>
 
</source>
  

Revision as of 07:08, 17 June 2020

Cone.png This article or section is a stub. Stubs are articles that have not yet received substantial attention from the authors. They are short or insufficient pieces of information and require additions to further increase the article's usefulness. The project values stubs as useful first steps toward complete articles.


Docker installation

First generate a default configuration file for your domain as follows, this will automatically pull the necessary containers as well.

docker run -it --rm --mount type=volume,src=synapse-data,dst=/data -e SYNAPSE_SERVER_NAME=organicdesign.co.nz -e SYNAPSE_REPORT_STATS=no matrixdotorg/synapse:latest generate

This will create a new volume with your persistent configuration file in it in /var/lib/docker/volumes/synapse-data/_data/homeserver.yaml

Next, run the container on a local-only.

docker run -d --name synapse --mount type=volume,src=synapse-data,dst=/data -p 127.0.0.1:8008:8008 matrixdotorg/synapse:latest

This is the default Matrix port for unsecured HTTP traffic, so that a reverse proxy needs to be set up from your web-server to handle the HTTPS side of things on exposing the default Matrix HTTPS port of 8448 to the public that connects to the the internal HTTP port on 8008. Also there needs to be a connection from port 443, see the official reverse proxy notes for details about the reverse proxy setup.


Set up a user:

docker exec -it <CONTAINER_ID> register_new_matrix_user -c /data/homeserver.yaml http://localhost:8008

Troubleshooting

Check https://YOURDOMAIN/_matrix/client/versions in a browser, it should respond with something like the following:

{
  "versions": ["r0.0.1", "r0.1.0", "r0.2.0", "r0.3.0", "r0.4.0", "r0.5.0"],
  "unstable_features": {
    "m.id_access_token": true,
    "m.require_identity_server": false,
    "m.separate_add_and_bind": true,
    "org.matrix.label_based_filtering": true,
    "org.matrix.e2e_cross_signing": true,
    "org.matrix.msc2432": true
  }
}


And it should have the following CORS headers:

access-control-allow-headers   Origin, X-Requested-With, Cont…t-Type, Accept, Authorization
access-control-allow-methods   GET, POST, PUT, DELETE, OPTIONS
access-control-allow-origin    *

See also