this post was submitted on 15 Jun 2023
126 points (97.7% liked)

Selfhosted

40132 readers
531 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

As r/selfhosted seems to have shutdown due to the reddit api changes (rip), I wanted to see if anyone has worked with these services before?

How do they compare to Discord and how hard is it to maintain, as the setup looks pretty in depth for matrix and synapse. How did you convince your user base to use it over Discord.

I've hosted TS3 for about 8 years and are looking for alternatives, as we have to use Discord for screen sharing.

Thanks!

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 14 points 1 year ago* (last edited 1 year ago) (1 children)

Matrix has one caveat: it synchronizes every room (group chat) from another instance to your instance fully- which one user subscribed to on your instance. Because of this the instance-systems/servers are under heavy load for private userage (not controllable number of users and chats). Many governmental institutions (controllable number of users and chats) use though, because in case of "disasters/incidents" the data is not lost but saved all over all replicas.

[–] [email protected] 3 points 1 year ago (3 children)

So if I only run one Matrix/Synapse instance for my private group, does any of the matrix decentalized technology effect me? I would only have one instance, and my users will probably only be connected to my instance. Though if I'm understanding correctly, it sounds like if I subscribed to another instance, all of the chat communication on that entire instance is copied to my server as well? Does this include files? Sounds like it would use a lot of extra disk space.

[–] [email protected] 9 points 1 year ago (1 children)

Sort of. I host a Matrix Synapse server for about 15 friends. Some of them use rooms on the big Matrix.org server as well, some bridge to Discord and Facebook, and some chat with other smaller groups. By default, Synapse won't sync rooms you haven't joined. It also won't copy files - it'll fetch those I believe (although maybe it'll keep a few days worth of files around?).

After about 5 years of hosting it, we're sitting at 90GB total disc space used, of which ~70GB is the database. You can compress the database and save lots of disc space (50%+) but I haven't gotten around to that yet.

[–] [email protected] 8 points 1 year ago

I see why they recommend not using SQLite lol.

[–] [email protected] 3 points 1 year ago

As a protective measure, you could block your local synapse server from federating with matrix.org and that should keep anybody from joining any of the giant rooms on the largest matrix server.

[–] [email protected] 1 points 1 year ago (1 children)

It would replicate this one specific group/chat only - from the moment of subscription. Depending on the load it can get heavy on your instance.

[–] [email protected] 1 points 1 year ago

Do you know if this happens the other way around? A user chats with a different server and that chat is synced to my server. Can I use federation without allowing others to join mine outside my group? Because otherwise, it sounds like my server's data will be copied to a different server.

[–] [email protected] 9 points 1 year ago* (last edited 1 year ago) (2 children)

I run ejabberd for myself and my family/friend and use conversations on android. Mattermost I would say is the most like discord. I run one of those as well and love it.

[–] [email protected] 3 points 1 year ago (1 children)

Prosody here in addition to Matrix. :)

[–] [email protected] 2 points 1 year ago

Yes. Never used it, but they all do the same thing.

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (1 children)

I think ejabberd or another other xmpp server would have been my first choice for a service like this by a long shot. If only we had some good iOS clients to go to. While I'm on android, most of the family and some of the friends use iOS, so it was kind of a non-starter from that alone.

Edit: log -> long

[–] [email protected] 3 points 1 year ago

Yeah unfortunately iOS is very stingy with battery. Thankfully there's a few apps that use apples push and ejabberd supports it. I haven't tested them in a while tho since I'm on android.

Mattermost is great and I'm pretty sure they have an iOS app. I don't believe the messages are encrypted on MM, but if you're running the infra it's not too big of a deal IMHO.

[–] [email protected] 8 points 1 year ago

Mumble in combination with XMPP is the most hassle free and low resource option. Just for small personal use snikket.org XMPP is probably the best.

Matrix Synapse also works, but if you join any large rooms it will blow up ram and storage space usage, thus I can't really recommend it.

[–] [email protected] 8 points 1 year ago

My partner and I self-host a matrix server + element frontend locally, and we are both in a few federated chats with people and organizations elsewhere.

We mostly stood it up to replace a discord server that we were using for communication, organization, and home automation in anticipation of API/policy changes on Discord's end. For that application it has worked really well and it's a lot easier to integrate with software that spams log or alert data.

[–] [email protected] 7 points 1 year ago

I run a single user matrix instance to join some chat rooms. Works great for me.

[–] [email protected] 7 points 1 year ago (1 children)

There was a post recently about this. It was called revolt

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

Yeah, revolt looks nice and is clearly trying to be a drop in replacement for discord, so that will make adoption easier.

However it doesn't seem ready yet. The client notes that their voice chat feature is in the middle of being re-written from scratch. The legacy voice chat just doesn't work for me (on Linux). Discord isn't great on Linux, but it's more usable that revolt right now.

Also, for better or worse, it's not actually federated, it's just open source. So there is a central revolt server that new users automatically use, and if you want to operate elsewhere, as far as I can tell, you effectively modify the client to reference a different server.

[–] [email protected] 7 points 1 year ago

I'm running a mumble and a conduit server currently, and I'm not planning to ever touch shitcord again ^^

[–] [email protected] 6 points 1 year ago

To echo what others have said, I’ve been running a personal/friends only matrix server for about a year, and have found it, though difficult at first, to be stable enough to use as a universal messenger combining discord, messenger, WhatsApp and others in one app. It’s very convenient.

[–] [email protected] 6 points 1 year ago* (last edited 1 year ago)

I run a non-federated Matrix server for my family with synapse, it's behind nginx and the setup is pretty straightforward if you know what you're doing. It does chat, voice, and video with screenshare nicely, though I don't know now well it scales to a large group.

[–] [email protected] 5 points 1 year ago* (last edited 1 year ago)

I've been running a synapse server for a few years using https://github.com/spantaleev/matrix-docker-ansible-deploy

I'd highly recommend the above Ansible playbook as it makes it easy to manage not only synapse but also to manage a bunch of bridges and bots if you have the need for them. I have a bunch of rooms that are bridged to Slack for my bozo friends that refuse to use a cool open-source alternative.

[–] [email protected] 5 points 1 year ago (2 children)

For Matrix, I'd recommend conduit over synapse, with the expectation that all of synapse's features haven't yet been added (most notably support for spaces, which may or may not be a dealbreaker).

It's incredibly easy to set-up and very lightweight. I never self-hosted synapse due to how resource-heavy it is, and constantly had issues with dendrite racking up resources as well.conduit has honestly been the easiest thing I've self-hosted.

[–] [email protected] 2 points 1 year ago (1 children)

What front-end are you running with conduit? I just spent two hours trying to get element to talk to it but i've put it off due to so much failure with it.

[–] [email protected] 1 points 1 year ago

There's a couple I use: element (desktop & mobile), gomuks, nheko, and fluffychat.

I'm assuming you followed the deploy walkthrough? That should work pretty well on its own, but there might be some weird networking issues you could be having. First try running conduit once set up in the foreground to make sure it starts without issue, then try the health check listed in the instructions:

$ curl https://your.server.name/_matrix/client/versions

# If using port 8448
$ curl https://your.server.name:8448/_matrix/client/versions

If it fails here, I'd recommend stopping by their matrix room with another account. The room is active and helpful; I greatly appreciated the help I got in setting up my homeserver with a subdomain + pretty homeserver name i.e. without the subdomain. As conduit is still early in development it'd probably be good to have a backup account on matrix.org or another smaller homeserver (preferably the latter given how overloaded the former is).

[–] [email protected] 1 points 1 year ago

It's not too bad. I host for me and my wife with a few bridges and synapse and postgres together use less than 500MB of RAM. That is not too bad.

[–] [email protected] 4 points 1 year ago (5 children)

I personally prefer a self - hosted Revolt instance. It's not federated or anything, but it's fast and nearly identical to Discord with some extra nice features, and it has a first party docker container so it's extremely easy to set up. I didn't go with Matrix or anything like that because it's harder to set up a natural system where you have a server, but then that server has many channels, and that's very important to how my friend group communicates and hangs out.

load more comments (5 replies)
[–] [email protected] 4 points 1 year ago (2 children)

Just found out about this recently. It's touted as an open source alternative.
Revolt Chat

[–] [email protected] 1 points 1 year ago

I set up an instance a while ago and it's pretty neat. I'm not at the stage of asking my users to switch yet, for our small instance discord is still fine for me, and in that time hopefully revolt can get more feature parity

load more comments (1 replies)
[–] [email protected] 4 points 1 year ago (2 children)

I've been hosting it for myself for a couple of years and once you set it up it's without problems. I wanted to consolidate all my chats like WhatsApp, Signal, Telegram, etc. into one UI and the bridges allow me to do that.

Discord has a proprietary license so I never considered it.

[–] [email protected] 2 points 1 year ago (1 children)

Sounds really interesting! Could you please indicate what are you selfhosting exactly in order to achieve this?

[–] [email protected] 4 points 1 year ago (1 children)
  • For the server I use synapse and I use their deb package so it upgrades itself with the whole system when I do a apt upgrade
  • For the bridges there are different solutions, most of them can be found here https://docs.mau.fi/bridges/go/setup.html (<- the onel written in go) and https://docs.mau.fi/bridges/python/setup.html (the ones written in python)
  • Some bridges you don't need to host yourself because there are some public ones available via the Element UI

But remember that bridges terminate end to end encryption and there are some pitfalls with that. For some background info you can watch a video I made some time ago: https://tube.jeena.net/w/rYhp4ZT5Ykw1aBGqMr62KG

[–] [email protected] 2 points 1 year ago

Thanks a lot for the reply @[email protected], much appreciated. I'm watching the video right now, thanks for sharing your personal experience on hosting the services and the security considerations, good to know! I was between happy and surprised to see that the video is on PeerTube, way to go, thanks for promoting the Fediverse. 👍

Not 100% sure if I want to go through this hole now 🤣

load more comments (1 replies)
[–] [email protected] 4 points 1 year ago

I use Matrix too. I've hosted my own Synapse instance for almost a year now. It works great. Easy to maintain and upgrade.

[–] [email protected] 3 points 1 year ago

Yeah, I'm hosting a Synapse instance; have been for a few years now. The biggest complication was the reverse proxy set-up, because I didn't want matrix in my handle. 😁 But they've got great docs around that (and more) these days; and there's a good community in the Synapse Admins room too.

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago)

I have been successfully hosting a Matrix instance (Synapse) for a few friends since January. Definitely a learning process but I have to say the docs are excellent. Reverse proxy and federation was a little bit tricky but has been working fine. I've also since migrated from a bare metal setup to a containerized one with very little hassle beyond understanding the basics of migrating the database, etc.

[–] [email protected] 3 points 1 year ago

I do. I've been hosting it for 3 years now. I have seen them add new features rapidly, and it's pretty exciting, things can (rarely) break sometimes (cause you didn't read the upgrade notes before upgrading).

They had something called communities, which they scrapped for Spaces. Spaces are more akin to a server on Discord for the most part. I don't use Discord too much, so there could be some features missing that I have not noticed.

I didn't intend to bring them to me, I intended to go to them using bridges. If you have a Discord server, investigate how to bridge to that discord server (either personally via double puppeting bridges or maintain a complete copy of the server using relay bridges). This way over time you can bring people over to your matrix instance cause these companies do mess up (at this point its not will its when). Similar with signal, googlechat etc.

It is fun and fairly easy.

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (1 children)

There is Spacebar (formerly Fosscord) aiming to be a drop-in discord-compatible replacement. I'm not sure how usuable it is yet, since I haven't gotten around to try it, but it does look like a promising solution imo.

load more comments (1 replies)
[–] [email protected] 2 points 1 year ago

I have two synapse servers and jitsi instance with 3 bridges. Works fine for home and Corp usage.

[–] [email protected] 2 points 1 year ago

I would like to find an alternative as well . I mostly use one discord sever that the users would be happy to switch to a self hosted option.

[–] [email protected] 2 points 1 year ago

Not sure if they do screen sharing but I've seen some buzz around 'revolt' recently which is self-hostable.

[–] [email protected] 2 points 1 year ago

Check out rocket.chat

It is what my company uses. It is free and open source. Same features as Discord. Not too difficult to setup.

[–] [email protected] 1 points 1 year ago (2 children)

According to TS devs the screen sharing is comming Soon™ for TS5 but I can't promise it because it was originally planned for last year.

If you want a source I can search for it in german ts beta chat.

load more comments (2 replies)
[–] [email protected] 1 points 1 year ago (1 children)

I've had a private Matrix server for me and a few family members for years now. It doesn't federate, and I'm afraid to try, because I run it on a potato computer and I've heard horror stories of Synapse federation consuming hundreds of gigabytes of space.

It's generally been stable and performant and really nice to use. The only problem is encryption: Element seems to forget keys sometimes and need to resync. And Matrix's whole e2ee system is arcane nonsense to anyone who's not extremely technical. Every time that happens, it's a long tech support call.

The solution is to just not use encryption on chatrooms, which is fine, but DMs have to be encrypted so it still comes up sometimes.

[–] [email protected] 1 points 1 year ago

So long as your users are not in a bunch of media heavy rooms, the storage usage is not bad When federated. I've got mine on a 2 core, 4GB VPS with 80GB of storage. 6 users, 2 active. I've been sitting at about 40% storage used for the last year. Just make sure you've set reasonable retention policies.

load more comments
view more: next ›