Amusingly, two of my co-workers from a previous job also run their own homeservers, one a smaller private instance similar to mine and the other a single-user node that bridges many different chat systems together for personal use. The two of them also interact with the users on my homeserver on a regular basis in various public and private channels.
I should note that only one of the active users in the channels on my server is from matrix.org - everyone else is from the same server or federated instances run by other people. Matrix.org could go down tomorrow and things for us would mostly keep running just fine.
I do wish Synapse had a proper account invite system for private servers, and not the "spin up a matrix.org account and chuck the hapless fool in the hopefully-federated room" method that was there the last time I tried.
I'm hosting a small set of services (Nextcloud in particular) for a group of friends, and the same thing is happening here. At some point, I added an email reset to my LDAP system so that people can reset their passwords themselves. I don't know how "normal" people live like that. I can't remember the last time I used a password reset other than for technical reasons.
I was in the same position, wanted to set one up - decided it was too much work.
https://github.com/spantaleev/matrix-docker-ansible-deploy/
Been hosting it alongside some bridges(like irc) for a while now.
Shameless plug - for people who'd rather not maintain their own server manually with Ansible, a few others and I are running https://etke.cc - a completely FOSS service service built on top of the Ansible playbook. Hopefully, this provides the best of both worlds - ease of getting started (on your own or on a rented server), everything built on top of FOSS, no vendor-lock-in (you can migrate to using the playbook yourself at any time, etc.).
But you want sysadmin pain points, here are some random pointers in no particular order:
- Familiarity with reverse proxies helps a lot. I recommend terminating both client (443) and federation (8448) traffic through nginx or similar.
- The Synapse Github (https://github.com/matrix-org/synapse/issues) is one of the first places I start trawling if something gets weird.
- Federation is the second-hardest part, and if something goes wrong and you're not watching the Synapse logs it can fail silently - here it helps to have friends on other instances there to check connectivity (and blame you when THEIR instance breaks federation, that's fun). https://federationtester.matrix.org and similar help a lot too, and it's good to at least have a couple of bots from matrix.org to poke at if you suspect something's amiss.
- Fuck everything about troubleshooting STUN/TURN. Newer playbooks may make coturn deployment easier.
- It's easy to test migrations/deployments with an update to your hosts file - you can verify that your clients connect to the new server and that data has been restored without doing anything to the original server.
EDIT - Keep in mind that a lot of the above went on from 2018-2019 (except the server migration, but that was easy) and the documentation/automation has improved quite a lot since then.
It's been working flawlessly since I deployed it (about 2 years ago now).
So I don't know where you got "there's nowhere for you to go" from.
Element has open source apps and that's great. It just seems to not have a very strong culture of people self-hosting it. Though one comment did provide me a place to look and I found this and am now more comfortable with it. https://schildi.chat/ Still it would be great to see it have some big instances like GitLab does with Debian, Freedesktop, and others. Then I wouldn't feel I was going it alone if I self-hosted it.
- Matrix is the protocol, Element is confusingly both the hosting service and the mobile app, and Synapse is the server -- just to get terminology right
- Matrix actually does the "multiple clients" thing really right [0]
- I think a lot of people self-host; I did and there are a few others in this thread. It's easy if you've any experience hosting web API servers. A core Matrix goal is to be decentralized, so self-hosting is thus also a core goal. You can see docs here [1], or docs for Docker here [2] if that's your thing.
[0]: https://matrix.org/clients/
[1]: https://matrix-org.github.io/synapse/latest/
[2]: https://github.com/matrix-org/synapse/tree/master/docker
Element: landing page https://element.io/solutions/self-hosted-or-cloud-collaborat...
GitLab: all the things https://about.gitlab.com/install/ at the bottom is the Debian package, but if you go to the Docker Page and click the username you can see gitlab-ce there as well.
You probably want to read the open-source software's installation instructions at: https://github.com/vector-im/element-web
TLDR, check out the project, run `yarn install`, then edit the config file, then `yarn build`.
And, yes, that is all there is to it. It's significantly simpler to deploy than GitLab.
Finally, you keep mentioning self-hosting; you _can_ just use a non-self hosted application like the downloadable version of Element, SchildiChat, Fluffychat, or any other client.
No reason to bring hosting into the mix for the client, if that's causing concern.
To me it looks like they come with proprietary stuff: https://element.io/pricing
Especially Group Sync seems like something to drive you into their paid offerings, I assume by keeping the code close to the vest.
You can host bridges yourself too
You yourself say in a different comment that you are currently assessing Element: https://news.ycombinator.com/item?id=34779070. Either you have a formed opinion Matrix, or you don't. Which one is it?
You keep saying Element instead of Matrix, and obviating the whole Matrix ecosystem. Matrix protocol has several server implementations, and many more things around: https://matrix.org/docs/projects/try-matrix-now
T
> The Dockerfile used for building public images is in Omnibus Repository
Dendrite, conduit and synapse - matrix homeserver software (you have to use one of them) have thousands of stars.
I'm pretty sure atleast 10k+ matrix homeserver deployments exist - maybe someone from matrix.org can give a better number because each homeserver is probably federating with theirs.
And thats to say nothing of unfederated servers i.e. orgs hosting matrix for internal use.
Also, Element is just some JavaScript in your browser or electron shell, there's no need to self-host it really, although you can (just put some HTML+CSS+JS up on a webserver) — you want to self-host Synapse, and that's trivial to do (there's a Debian package, a Docker image and so on).
[1] https://github.com/vector-im/element-meta/issues/260
[2] https://github.com/turt2live/matrix-dimension/blob/master/do...
I'm comparing Element.
> and so isn't Element
It sure seems to be. Look at the red X's and green checkmarks in the comparison: https://element.io/pricing There are different opinions on what Open Core means though.
This is in fact a bit of a problem wrt. funding: https://matrix.org/blog/2022/12/01/funding-matrix-via-the-ma...