-
Notifications
You must be signed in to change notification settings - Fork 359
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
We really *really* need a definitive guide on how to set up a homeserver/synapse #206
Comments
omg yes. |
also the guide should cover how to set up postgres and ignore the fact that sqlite exists. |
https://www.howtoforge.com/tutorial/how-to-install-matrix-synapse-on-ubuntu-1804/ is actually pretty good, modulo the fact that it firewalls the federation port. |
@richvdh did you find that via https://matrix.org/docs/guides/ ? I'm trying to contact the author. If we can make the changes to the federation section, we could link to this from higher up on that page. |
No, somebody linked to it in some bug report or other. |
I know there is no priority labels in this repo but this issue needs to be p1. Lots of bad guides spreading around. A good official guide needs to be written ASAP. |
@benparsons |
@natrius I like that idea very much! Can you share what you have here? |
@benparsons I could use some information about postgre ( i think i got that), the federation and the "no subdomain"-part. Will try today something new. Discussions here or with messenger or a new issue? Otherwise, just contact me via @natrius:matrix.org |
@turt2live @richvdh @erikjohnston @natrius has been working on a Synapse Installation guide, which has evolved significantly this week. Can I ask for your eyes and feedback on https://www.natrius.eu/dokuwiki/doku.php?id=digital:server:matrixsynapse ? If this is considered to be a good template, we can start to integrate the suggestions in @turt2live's first comment on this issue. |
Looks like a good start to me! Thank you for putting in the effort to make everything better. I'd recommend removing the Ubuntu sysadmin tips as it adds a bit of confusion (ie: the stuff about The guide should also probably just go straight into "use with a subdomain" instead of having the user figure out what they want. There's a small missing step in the guide: When setting up the reverse proxy, the listener should be set to be bound to From the guide:
|
Indeed, looks like a great start! [I would point out that Synapse is called "Synapse", not "Matrix Synapse", though: the package is just Towards the bottom you suggest installing things into the system python libraries with My main concern at this stage would be: how specific to Ubuntu/Debian do we want this guide to be? There's a bunch of stuff in his guide which is quite specific to those OSes, so if we can't make it more generic, I guess we might end up with a guide for each OS :/. |
@turt2live @richvdh @erikjohnston I agree with some, but its called "on Ubuntu 18.04" and so i would like to leave it like that and not make one universal (imho they tend to get bloated). But i'm open for suggestions. What i changed already because i think its good: I thought "Also, it should make sure to set the flag for recognizing the X-Forwarded-For header." that this is already done. About the subdomain, should i change that too? |
I agree it would be good to identify which parts can be extracted out so we can have little sections where the different distros diverge. This is good right now though with the changes made. Next steps:
(both of these are for me) |
I'm new to Matrix & Synapse and I agree that the guides are all over the place. |
@databaze |
natrius, Ubuntu: https://www.howtoforge.com/tutorial/how-to-install-matrix-synapse-on-ubuntu-1804/ I also tried to get it to work with these guides I found around the web: https://dzone.com/articles/how-to-create-a-chat-server-using-matrix-synapse-o https://xo.tc/seting-up-matrix-synapse-and-riot-on-debian-8-jessie.html I will post after I am done trying your way, at the moment I am installing Ubuntu-18.04.1-desktop-amd64.iso and also ubuntu-18.04.1.0-live-server-amd64.iso both under vmware vsphere 6.5 environment. |
[A comment on grammar & usage] at https://matrix.org/docs/guides/ I see something like this: |
I believe we are happier now than we were, with the links starting from https://matrix.org/docs/guides/installing-synapse. @turt2live @richvdh to reopen if needed |
I'm not sure what the end result of this ticket was, but I'm new to Matrix and the best documentation still seems to be matrix-org/synapse#2438 which I only found after getting confused after setting up a home server. The linked installing synapse guides don't have any information about port 443 forwarding to 8008, DNS, etc. AFAICT. Most of the info in that ticket and the this one isn't homeserver specific and is important info for people setting up any home server, including dendrite and conduit I think. Would it be possible to document this somewhere prominently? FWIW googling Since this isn't about synapse specifically I'd be glad to open a new issue if that would help. |
Does @richvdh's recommendation still stand? Because that's directly contradicted by https://github.com/matrix-org/synapse/blob/develop/docs/delegate.md#should-i-use-a-reverse-proxy-for-federation-traffic |
As richvdhs post you linked is from 2017 i'm pretty sure you should take the one in the docs. |
I suppose so. Did some further digging, and the recommendation changed with Synapse 1.0 when they started requiring a signed certificate. |
I just completed setting up connection to the federation, and want to leave this here for others and hopes I'll come back to see if I could to a PR somewhere. My journey started with the docker-compose file and the issue I faced was that I couldn't add matrix.org to explore rooms. In my attempts to address this I went through a number of failures like
And with that I went through a number of setup documents (list is probably not exhaustive)
And of course there is context to why I might be struggling to get this working.
The primary failure point I ran into was trying to utilize this 8448 port that gets discussed. I was trying to get the federation to communicate to the docker container at this port and it really needed to talk to 8008. I didn't end up figuring out how to set my SRV DNS record correctly, here is what I did do. I told caddy to specify a subdomain and port for the well-known server which ensures the SRV lookup is bypassed.
And I delegated that to port 8008 (this is where I wrongly kept trying to get it to talk to port 8448 of the docker container).
And I probably didn't need this layer since it is the same as:
To round this all off I have added but not tested:
I hope to take this further into the documentation, but I just needed it publicly written down while I have it fresh in my head. |
I'm sure this is a duplicate of several issues, both in this repo and elsewhere.
There's not a day that goes by that someone inevitably walks into a support room asking why federation doesn't work, or how they can get Let's Encrypt working with federation, or wondering why synapse has two ports it opens (8008 and 8448). There are various guides out there that have a wide range of different opinions on the subject, some recommending the wrong thing and leading to more support load. It's worth noting that much of this support load is fronted by the community, who I'm sure would rather be making the ecosystem a better place than troubleshooting synapse day in and day out.
There's also been some issues raised in the past about similar questions, including the popular synapse issue: matrix-org/synapse#2438.
Currently there's no easy to find matrix.org-published guide on the subject, and it'd be nice to have the recommended guide reach the top of the search results.
Some things the guide should address are:
server_name
for synapse, and how that relates to your public domain record/DNS. For instance, it'd be a good idea to set up an SRV record regardless of the redundancy because it makes moving the server later easier, and it gives more permissive vanity domain names.The guide should also show how the reverse proxy works, potentially even going a step further and implying that it's required. Could show how to install $web_client on the server as well. I'd highly recommend nginx because it's fast enough, not complicated to set up, and forgiving when it comes to formatting errors in the config (except semicolons). Compared to apache which is mostly XML based or HAProxy which is just complicated.
The text was updated successfully, but these errors were encountered: