Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

For my company, we are using an hosted offer from Element.io[0].

It works wonderfully, it became a really nice hub of communication, information sharing with dedicated rooms for different stuff (CI/CD, link sharing, planing, etc.) and the service has no downtime I can remember in the past year.

Highly recommended and this funds indirectly the development of Matrix.

[0]: https://element.io/pricing



That seems like a pretty good open-core project with the core under the Apache 2.0 license. Still, unlike GitLab, I haven't heard of many running their own custom Element and until I do I'm a bit wary of lock-in.


I've been self-hosting a federated Matrix homeserver since 2018. It's small (about 20 active users), but it was enough like Discord and Slack that the less technically-inclined in the group have had little trouble adjusting to it. The main friction points have been the UI changes in Riot/Element over time ("where do I put the homeserver URL thingy again?"), and the fact that my friends seem to constantly forget their passwords and (this is really a separate issue from Synapse itself) setting up an account for transactional emails is a pain in the ass.

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.


> my friends seem to constantly forget their passwords

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.


You could add OIDC auth, e.g. facebook/twitter/google/... for your friends


How do you deal with the complexity of hosting Matrix?

I was in the same position, wanted to set one up - decided it was too much work.


There's not much complexity really. This handbook takes care of most stuff for you:

https://github.com/spantaleev/matrix-docker-ansible-deploy/

Been hosting it alongside some bridges(like irc) for a while now.


I'm happy to hear that my Ansible playbook for managing Matrix is helpful to people and is being appreciated!

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.).


I use AVENTER-UG's docker-matrix container for Synapse, and a separate VM for PostgreSQL. Element-web I currently upgrade straight from the tarballs. Upgrades are fairly seamless, and it's been well behaved for the past 24 months or so - the teams behind the Matrix ecosystem have been phenomenal.

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.


I run my own self-hosted synapse (backend) and element (front-end).

It's been working flawlessly since I deployed it (about 2 years ago now).


How can you get locked into an open protocol?


By getting locked into tools on top of it.


I think generally the point here is: if you're worried about getting locked into a totally open ecosystem, there's nowhere for you to go.


I specifically mentioned something that I was more comfortable with: GitLab

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.


Oh! Well, a couple things:

- 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


Like https://element.debian.social for instance? ;)


Yeah that's pretty good. Not quite to where GitLab is, but in the right direction. GitLab is really helpful with self-hosting.


What do you mean not quite? There are much more options than with GitLab, and a lot of people are self-hosting it actually.


I mean Element's website says very little about installing it and encourages using mobile apps which require going through the app store, while GitLab has all kinds of resources for self-hosting. They do try to steer you to self-hosting the ee version though.

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.


Gitlab and Element's website structure is different. element.io is the site for the managed product, so even their "on-premise" installer is meant to be used in a commercial relationship. For install docs you'd probably have to purchase their product (which isn't available freely).

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.


Using an official build of element makes it feel less open, unless the builds are reproducible. Are they?

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.


Man at this point you're just looking for excuses.

You can host bridges yourself too

https://github.com/spantaleev/matrix-docker-ansible-deploy/


This seems like goalpost moving.

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



How did you install Gitlab without an official build (such as the official docker images and Debian packages from their own APT repo)?


https://hub.docker.com/r/gitlab/gitlab-ce

> The Dockerfile used for building public images is in Omnibus Repository


Element is a for profit company that creates one set of clients and a hosted service for the matrix protocol. To find alternatives, look at https://matrix.org/discover/


Really ? I have been self hosting for atleast three years.

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.


I do! It's a Docker container. I also run the Element web client, also as a Docker container. I kick back 5 bucks a month to the Matrix.org Foundation since it's probably my most-used piece of software behind my OS and my browser. Been absolutely rock solid for about 3 years now.


There’s lots of element instances out there and alternative clients like Cinny. What’s harder to duplicate is the homeserver, Synapse. But even there there’s also Dendrite


Conduit as well, although AFAIK it's not an "official" homeserver, while Dendrite is


Well, I haven't heard of any and your comment doesn't help me to find any. I had heard of Cinny but currently I am assessing Element.


The whole point of matrix, though, is that it’s an open protocol. If Element were proprietary, that wouldn’t be the same sort of problem as we have with discord/slack because anyone could just implement the protocol according to the specs and be an equal participant at the table.


This is a list of public home server instances: https://joinmatrix.org/servers/


Great, thanks. I didn't think to look there since a Matrix homeserver is a different thing, but that shows a bunch of self-hosted Element instances!


matrix.org has a listing of clients. There are plenty if you only need basic features, but Element is the only feature-mostly-complete client.


I had to look up each of them. This looks to be the only one that is based on Element:

https://schildi.chat/


Is it a requirement that you use an Element-based client?


No, but since Element led by some of the same people as Matrix, I want to observe the type of open core project it is. Is it more like GitLab or more like Supabase? GitLab has a lot of help for self-hosting, while with Supabase if you want to run its components on your own it's up to you.


Unlike GitLab, Matrix is not open core, and so isn't Element or Synapse, they properly and fully open source.

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).


Scalar (the integration manager) is not open source [1] (though there was some effort to reverse-engineer its protocol [2]); and some of their anti-abuse scripts aren't public [3]

[1] https://github.com/vector-im/element-meta/issues/260

[2] https://github.com/turt2live/matrix-dimension/blob/master/do...

[3] https://github.com/matrix-org/matrix.org/issues/557


> Matrix is not open core

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.


Some of their bridges (e.g. Teams bridge) aren't open source. But those are separate software projects. AFAIK synapse and element aren't open core but fully open source (with apache licensing).

This is in fact a bit of a problem wrt. funding: https://matrix.org/blog/2022/12/01/funding-matrix-via-the-ma...


I think that comparison is just heir hosted offerings, not what the software (open source code) supports.



Conduit was pretty straightforward to set up, I just have it running with podman+systemd. It also works great with heisenbridge, which is an IRC gateway.


Well, I'm also running a small company (software house) and we're also using Element for it, but it's self-hosted, managed via https://etke.cc/. I believe migration to element.io or from element.io would be rather seamless.


My self hosted matrix instance just imploded and we had to move 20 users off of it. I'm sure it was due to a sloppy mistake during a server upgrade or whatever but it seems pretty brittle to me.


How are voice calls?

Edit: looks like there's a 50 user minimum for business plans?


If you host a server yourself you can hook in coturn (it's enabled by the linked playbook by default):

https://github.com/spantaleev/matrix-docker-ansible-deploy/b...

https://github.com/coturn/coturn




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: