Jitsi Integration in Nextcloud Talk

Just wrote a bot: https://github.com/pojntfx/nextcloud-talk-jitsi-bot

Pretty simple to use; add the bot to the chat, type #videochat and get a link to a Jitsi meeting.

2 Likes

I don’t use docker and i run my own Jitsi meet server. How can i use this “bot”?

Cool, I like how you use meet.jit.so for this. Did you base it off this Telegram bot for Talk?

You all want your own cloud? But rely on an external service provider, like Jitsi.me?

I have not seen a single person mention that domain.

Jitsi is no more of an external provider than Nextcloud itself: Both code fully open source software that you are welcome to run on your own hardware in any capacity. :slight_smile:

1 Like

Alright, if someone is still interested, i just rewrote the Jitsi Nextcloud Talk bot in Go, which should make everything much faster and simpler to deploy: https://github.com/pojntfx/nextcloud-talk-jitsi-bot

I even did a short video (in German) explaining the usage: https://www.youtube.com/watch?v=ahwGVSfwssM

Maybe this could be a good intermediary solution; if you want to build your own chatbots etc., the Nextcloud Talk Jitsi Bot provides a simple framework to do so if you know Golang.

10 Likes

I’d of course recommend you use Docker or some other CRI-compatible software (it’s 2020 after all), but if you don’t want to use it - just take a look at the Dockerfile, it explains how to build an ELF binary. You should by fine by creating say a systemd service and setting the env variables as explained in the README (the -e flags)

What’s the point in having to use docker because it’s 2020? Did I miss something?

If you run a production server and care about security, you will probably not use docker, as it still has to run as root (rootless mode isn’t yet a native and easy to use function in 2020).
Don’t be deceived by the all is easy promises. Docker can even complicate things quite a bit under some circumstances.

2 Likes

I personally found investing a little time to learn docker-compose very worthwhile. I already run NC, mariadb, coturn, redis, and Collabora in Docker. I plan to try adding Jitsi soon, possibly this weekend.

Pre-tested docker-compose files can make setup very easy.

Also, take the concerns surrounding Docker and root with a grain of salt. Even on “rootless” systems there are still many processes running with root privileges, and Nextcloud’s Docker version runs as www-data inside the container.

If the founder of the project even likes the idea, why not? Another option is to integrate an Open Source SFU/MCU into Talk.

founder of nextcloud… yes. founder of talk? ummm. no. as i have learned that talk/spreedme seems to be an external software which got included to NC as an app. so founder-frank might like the idea but it seems to be out of his reach if talk/spreedme would do so…

I played a lot on Jitsi those days and i think :thinking: the Jitsi app « may » be hard to implement.

The way Jitsi implement security about room creation is akward. TL;DR everyone can access room creation and enter a room, but it’s only after that you to input credentials for using the room.
I hope dev can modify this behavior and find something simple to use and share.

I will now look on Big Blue Button to see what the software can produce.

1 Like

Might be worth looking at how the Matrix project handled it. I don’t know if it’s a deep integration, or just sort of tacked on.

2 Likes

Matrix has been asked a while ago without a lot of enthousiasme. But i m sure it can be a solid killer app to use.

well you could use ldap as authentication with jitsi. it’s already built-in… so this could work pretty easy for nc, i think

I’m not afraid :scream: of the auth/login method, i know that it can be modded to fit the user base of Nextcloud.

I just think of the « how Jitsi work » that is a little awkward if you want secure room creation.

But i’m not a dev so finally i don’t know if those mods are easy to dev or not.

In Matrix the original Jitsi UI is shown in a widget (like a small browser window) and the client sets a random room name. It’s not a deep integration at all (at least not yet).
The newest Riot (Web) Client has a config option to set your own jitsi server. Tried that just yesterday, it’s very simple to set up.
If your Jitsi server is password secured you have to click inside the tiny widget and enter your credentials.

2 Likes

Riot is really nice too

I think other systems only use session-ids and thereby a hidden room name. Perhaps the jitsi-room-name can put from url to post-parameter and do not show in the browser and app. I think the jitsi devs can easy program a second authentication with (hidden) session ids.

Personally, I prefer jitsi.
The vicol example here Nextcloud App for BigBlueButton integration is a very good example.
Jitsi also uses APIs.
Jitsi can be integrated into RocketChat:
https://github.com/jitsi/lib-jitsi-meet/blob/master/doc/tokens.md
https://rocket.chat/docs/administrator-guides/setting-up-video-conferencing/

Maybe take example on rocket chat, and use this token authentication method for nextcloud?