Scale up as you grow — whether you're running one virtual machine or ten thousand.

From GPU-powered inference and Kubernetes to managed databases and storage, get everything you need to build, scale, and deploy intelligent applications.

This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Thank you for this nice tutorial. I made the server running.
The comments in the homeserver.yaml mentions that with a registration_shared_secret users can register even if disabled otherwise. If, in the webclient, I choose register I get not asked to enter a secret key to register, but gives a Error message, that restration is disabled. How can I make people register only if they have my key?
Thank you
This comment has been deleted
thank you very much guys for your nice tutorial! evrything seems to be working fine except federation. can you please add few more steps how to enable it. than you!
I followed all the instruction but I had a permission issue when I restarted matrix.
IOError: [Errno 13] Permission denied: '/etc/ssl/certs/dhparam.pem'
Step 5 is actually misleading as it is very much not the recommended, See https://github.com/matrix-org/synapse/pull/2468 && https://github.com/matrix-org/synapse/issues/2438
Is it possible to install Matrix on matrix.example.com only, without any changes to example.com (apart from name server entries)? The rationale: My webserver at example.com is quite a complex beast. More separation between different services would help to reduce complexity.
Thank you for your nice tutorial. I followed all your steps except step5. Yet when I try to access the room #matrix-dev:matrix.org, it puts me a 502: Bad Gateway error.
Here are my logs:
2018-03-08 14:37:37,434 - root - 188 - WARNING - GET-201- Error retrieving alias
2018-03-08 14:37:37,435 - synapse.http.server - 127 - ERROR - GET-201- 502: Bad Gateway
Traceback (most recent call last):
File "/root/.synapse/lib/python2.7/site-packages/synapse/http/server.py", line 117, in wrapped_request_handler
yield request_handler(self, request, request_metrics)
File "/root/.synapse/lib/python2.7/site-packages/twisted/internet/defer.py", line 1384, in _inlineCallbacks
result = result.throwExceptionIntoGenerator(g)
File "/root/.synapse/lib/python2.7/site-packages/twisted/python/failure.py", line 408, in throwExceptionIntoGenerator
return g.throw(self.type, self.value, self.tb)
File "/root/.synapse/lib/python2.7/site-packages/synapse/http/server.py", line 263, in _async_render
callback_return = yield callback(request, **kwargs)
File "/root/.synapse/lib/python2.7/site-packages/twisted/internet/defer.py", line 1384, in _inlineCallbacks
result = result.throwExceptionIntoGenerator(g)
File "/root/.synapse/lib/python2.7/site-packages/twisted/python/failure.py", line 408, in throwExceptionIntoGenerator
return g.throw(self.type, self.value, self.tb)
File "/root/.synapse/lib/python2.7/site-packages/synapse/rest/client/v1/directory.py", line 50, in on_GET
res = yield dir_handler.get_association(room_alias)
File "/root/.synapse/lib/python2.7/site-packages/twisted/internet/defer.py", line 1384, in _inlineCallbacks
result = result.throwExceptionIntoGenerator(g)
File "/root/.synapse/lib/python2.7/site-packages/twisted/python/failure.py", line 408, in throwExceptionIntoGenerator
return g.throw(self.type, self.value, self.tb)
File "/root/.synapse/lib/python2.7/site-packages/synapse/handlers/directory.py", line 185, in get_association
ignore_backoff=True,
File "/root/.synapse/lib/python2.7/site-packages/twisted/internet/defer.py", line 1384, in _inlineCallbacks
result = result.throwExceptionIntoGenerator(g)
File "/root/.synapse/lib/python2.7/site-packages/twisted/python/failure.py", line 408, in throwExceptionIntoGenerator
return g.throw(self.type, self.value, self.tb)
File "/root/.synapse/lib/python2.7/site-packages/synapse/federation/transport/client.py", line 188, in make_query
ignore_backoff=ignore_backoff,
File "/root/.synapse/lib/python2.7/site-packages/twisted/internet/defer.py", line 1384, in _inlineCallbacks
result = result.throwExceptionIntoGenerator(g)
File "/root/.synapse/lib/python2.7/site-packages/twisted/python/failure.py", line 408, in throwExceptionIntoGenerator
return g.throw(self.type, self.value, self.tb)
File "/root/.synapse/lib/python2.7/site-packages/synapse/http/matrixfederationclient.py", line 442, in get_json
ignore_backoff=ignore_backoff,
File "/root/.synapse/lib/python2.7/site-packages/twisted/internet/defer.py", line 1386, in _inlineCallbacks
result = g.send(result)
File "/root/.synapse/lib/python2.7/site-packages/synapse/http/matrixfederationclient.py", line 247, in _request
response.code, response.phrase, body
HttpResponseException: 502: Bad Gateway
Any help is appreciated…
Just adding a note, in the article you say the official support room is #matrix:matrix.org, #synapse-community:matrix.org is actually a better room for support with synapse servers. Here is a clickable link: https://matrix.to/#/#synapse-community:matrix.org.
Thank you for this tutorial. I just it in parts to set up my first matrix home server. I would like to point out a few things that re not correct though:
Please add this to the tutorial: IF in any case dhparam.pem couldn’t be found, for most cases it is a problem. Add first to the tutorial that users must create a dhparam.pem before adding it. Go to the terminal and add this command to create a dhparam.pem
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
This works just fine!
Then open in sudo nano /etc/matrix-synapse/homeserver.yaml and edit the line
***…
tls_dh_params_path: “/etc/ssl/certs/dhparam.pem” …***
Save and finish.
This should work fine!