Ask HN: Is anyone hosting their own Jitsi server?
https://jitsi.org/
https://jitsi.org/
My goal was offering a low-barrier open for all way to connect with loved ones. During the peak of the Covid pandemic for many people it was easier to connect with colleagues than family members or friends. So I contacted a few sysadmins and public organizations of whom I knew were running Jitsi and asked if it could be shared via our public website. A few agreed and a few dropped by and wanted to help out. After a few days a commercial hosting company decided to sponsor us with one VPS as well.
Our idea was to connect the servers and use the API to select a server with the lowest load. In the meantime we used a randomizer...we've never used the API after all, the randomizer worked well enough ;)
People told us they've used our free service for yoga classes, library book reading clubs, hackerspaces & celebrating birthdays with grandma.
Overall I'm still very proud what we've achieved in a few days with some servers, opensource software and bit of work.
Many thanks to @saghul, 8x8 and all other people contributing to Jitsi. Thank you!
I believe that the iPad user is using the web, not the app.
If so, we should probably be developing for it too. Not just the top 1. Yes, there's a gap between 1 and 2, but you can't just discount it when building an app.
Those on an iPad, were they using the app or the mobile web app?
It looks like their design starts with WebRTC running through SFU (selective forwarding units), which is pretty common by itself, but they're adding a tree-like SFU hierarchy in order to handle many participants without requiring expensive MCU (multipoint control unit) servers.
https://element.io/blog/introducing-native-matrix-voip-with-...
https://element.io/blog/element-call-beta-2-encryption-spati...
I assume it will become part of the Matrix spec rather than being an Element-only feature, though I don't think I've seen that confirmed. Maybe Arathorn will see this and comment?
Contrast with Jitsi, which requires Java, making it too heavy for my low power ARM server, and does end-to-end encryption in a way that's too heavy for some of my contacts' web browsers to run smoothly.
In the meantime, I've been relying on my Mumble server when I don't need video. The sound quality and latency are top notch, and the hardware requirements are low.
The thing keeping it in beta has been a set of really annoying intermittent bugs, which we’ve ended up tracking down by adding full opentelementry support; should expect to exit beta in the next few weeks (currently gathering data to check we really did fix them). Meanwhile we’re experimenting with other SFU implementations (eg LiveKit) to see if we can avoid reinventing the wheel there.
Element Call style VoIP is already proposed for the Matrix spec - MSC3401 and MSC3898.
Self-hosting is one of the use cases we spend a lot of time on, recently venturing into a hybrid model with JaaS components.
If there is any pain point with self-hosting, please let us know!
Thank you for your hard work!
The only complaint we had was the mobile performance. Made older phones hot and killed the battery fast.
Other than that great software suite!
An update led to a dependency issue (I would have to go remind myself which but I think Prosody) and that was that - just a ‘well lets stop supporting Ubuntu 18.04 then’.
I think over time the advice has been to go manually downgrade some packages or try and find the relevant versions somewhere. A more satisfactory solution would be to support the up to date versions of dependencies available to the distribution jitsi is installed on.
We’re getting to the point where this doesn’t matter of course, as 18.04 goes end of life. But you can understand why we are reluctant to recommend jitsi as a stable and reliably maintained option after this experience.
I attempted self hosting it on an RPI4 but the video quality was dropping heavily and stopping alltogether from time to time. I did not see an obvious bottleneck anywhere in the system. The rpi had both ram and cpu to spare, my connection is 1gbps down, 100mbps up. Should be more than enough for two people.
This was early this year. I followed the official guide word-to-word. Others reported similar issues on the official forum so my issue isnt new or unique.
Instead of sharing the ugly CSS-hacks here's just the list of what I've named the buttons, the CSS-hack isn't something I would expect to make it upstream so to say.
From left to right:
- Mic
- Webcam
- Screen share
- Chat
- Hey! (it's willingly ambiguous so that someone might stumble upon the feature in a exploratory manner, we don't really use the "raise hand" function in a serious way)
- This call
- Layout
- More actions
- Leave
And lastly, thanks for making great software."then press the three-lines" makes me feel debased as a human being, like I'm reduced to pictograms because language has been taken from me.
That this isn't a standard part of every software, is part of what's gone wrong with UI/UX in the last decade or so.
Hamburger menu? https://www.mobileapps.com/blog/hamburger-menu
I share your disdain for this sort of UI, but then I'm content with a CLI...
Edit: since this in HN, I'll mention too that I don't even bother with passwords. I set up basic auth on the endpoint for management and room creation, and just leave the room(s) open. For a low key chat-with-friends-and-family setup, it's great and I haven't had to touch it since I set it up.
Edit: remembered that wrong. It's $66/month. But I'm using an instance much larger than you'd need to just run jitsi.
You'll find plenty of decent ones here for ~€40/month.
The setup was a bit of a hassle (need to get the domain configured for federation, updating the config files etc) but after a weekend of configuration it has been rock solid since (in operation for a year now). I use it primarily as a centralized chat client (using bridges to the various propriatary chat services) but it is nice to be able to throw up a quick jitsi call and/or etherpad document.
The whole ansible/docker stuff is over my head, but these days I just run the playbook to apply updates and it hasn't failed me yet. Backups are handled by taking snapshots of the VM it runs in.
The jitsi web client works great on desktop, but I would recomend using the dedicated mobile apps because I have heard reports the web client struggling on mobile.
edit: forgot link [1] https://github.com/spantaleev/matrix-docker-ansible-deploy
One annoyance was that I couldn't figure out how to set up a persistent room protected by a code. My goal was to have no usernames or passwords, but without allowing completely open access - I just wanted to distribute a room name and single known password/passcode my friends could use to get into the room.
Since this didn't seem to be possible at the time, I settled for requiring rooms to have a "host," which is just me. That way I deal with a username and password, but nobody else has to. It does make it impossible for the rest of the group to play without me, but this isn't an issue for our situation.
That said, compute-wise I would expect Jitsi to run fine on a $5 droplet or similar. Probably have to watch out for bandwidth costs, I haven't been monitoring my usage because I don't have to.
Jitsi is xo posee of several moving parts, and making sure everything works well out of the box is something we deeply care about.
IRC + Jitsi could work for a lot of people, but there's still enough trust in big centralized platforms for people to be satisfied with them.
https://github.com/ergochat/ergo
Do you have a handle on how much of a memory hog? I've considered installing it for a small group of people (~15 total, likely no more than 6 actively on a video call at any given time) but the dedicated server I'd put it on only has 32Gb in total (though it does run very little else that needs much memory: a large filesystem for backups, a web server hosting simple stuff, a LanguageTool self-install, occasionally other things I'm tinkering with that benefit from more bandwidth that the ~12mbit I currently get upstream hosting things at home).
In my experience Jitsi actually works better than Google Meet and I like self-hosting it, but Zoom works better than any and all WebRTC-based solutions.
The hard thing for things like Jitsi is that they have to work in the browser and are therefore held prisoner by how good the browser is. Most of the issues we ran into are probably browser issues not Jitsi issues since we also have tons of problems with Google Meet.
Fun fact: Even on an Iranian data center, I had to limit the video quality on my own server to 360p because other qualities don't work great either.
Authentication can be another important one, if you want to integrate with your existing SSO or other auth mechanism.
Last, customization. While this can be done via JaaS too (our CPaaS offering) you will always have full control over your deployment if you self-host it.
Jitsi is great, IMO. Highly recommend.
I've left the company since, I believe they were bought out and switched to MS Teams now.
Only downside in my experience: cross device video never works? Good luck making a video call with chrome + firefox + android clients in the same room.
If you’d like to dig into it, please reach out to us on GH or to me at HNusername@jitsi.org
> Jitsi is a set of open-source projects that allows you to easily build and deploy secure video conferencing solutions. At the heart of Jitsi are Jitsi Videobridge and Jitsi Meet, which let you have conferences on the internet, while other projects in the community enable other features such as audio, dial-in, recording, and simulcasting.
Is it like self-hosted Zoom alternative? I feel like if an org is on Teams, they'll just use Teams video conference. Same for Slack. I used to work at an org that had Teams + Slack + Google Hangouts/Google Meet + Zoom.
It worked pretty well. I was scared of security issues where I thought some miscreants might have calls and I get blamed for it. There were security issues(which probably could be fixed but I didn’t spend too much time)
The problem was UX for mom and pop folks
Really the only reason I took it down was I moved my hosting to another server and never bothered to set it up.
(I.e., there is no universe in which Jitsi's possible/likely abuse of this data is remotely close to Zoom's)
With self-hosted, you're simply paying for the servers. If you can pay for the servers and maintain them, you can be confident they'll stay up.
The hosted product is great, it just seems separate and off topic to me.
But hey, it's free. And it hits the most important consideration: it could not be easier to use. That's pretty critical since my club mates don't have much capacity for troubleshooting.
I would love something with visible feedback on connection quality, especially if it was able to reduce bandwidth usage as possible automagically (switch video to static image / off, reduce audio kbps, etc.) to degrade gracefully.
Maybe supporting "push to be the only mic unmuted" could lessen the bandwidth needed.
I have tried to set it up in different ways multiple times, following all the steps of the fantastic documentation meticulously, with full server resets in-between, researched the error messages thoroughly and even asked in the Jitsi forums, but there was just no way.
But if it works, it's a great piece of software that's easy to set up with really great documentation. I'm blaming the fact that it didn't work out on the hosting company (Strato) and their wonky VPS.
Everyone I've talked with says it's easy to use, and connectivity has been just about as good as Zoom.
If you want to do it anyway: create a fully automated setup to quickly spin up a new instance.
For adhoc gaming sessions, family chat during corona.
Disabled audio activity indicator(?) to severely reduce client CPU usage.
https://janus.conf.meetecho.com/
Was fairly straightforward to setup. Eventually I replaced it with Twilio as it was easier to scale across regions.