Peertube-plugin-livechat v1.0.1 is out!

I just published a plugin that allow to add webchat to Peertube video’s!

You need either a custom external webchat application that will be integrated in an iframe, or… juste a XMPP server with BOSH or Websocket, and anonymous login enabled! (sample config file provided!)

Everything you need to now is here: https://github.com/JohnXLivingston/peertube-plugin-livechat
There is a demo there: https://www.yiny.org/videos/watch/399a8d13-d4cf-4ef2-b843-98530a8ccbae

Enjoy!

2 Likes

Hi, thankyou very much for developing this plugin, it’s getting very good :slight_smile: I’m using it on my « testing » Peertube instance, but not the Production one, because it isn’t compatible with Docker installs.

Any progress in getting it to work with Docker, with some help from someone, as you asked? Hope so, cos Livechat is the main missing Peertube feature, and should, surely, be incredibly popular, because it’s what everybody wants while Livestreaming :slight_smile:

Not sure we can give you any help with your plugin and Docker, but in my opinion this plugin should be advertised and promoted EVERYWHERE, because it’s so awesome, get the word out about it, find someone who knows how to create Docker images.

1 Like

Thank you for your message!

The problem with docker is that I never used it… I think it should be really easy in fact. I assume that it is just something as «adding the prosody service in the docker compose file» (if I correctly understand how docker works).

It would be really nice if someone that knows docker can help me. Otherwise, it is on my roadmap. But I’ll have to learn how to install docker (and Peertube over docker) first…

If a docker expert see this message, here is what my plugin needs:

1 Like

That is great, thankyou for the quick reply. I’ll pass the message onto our techie, see what he thinks, and spread the word.

Thanks!

I did not announce it on this forum yet, i wanted to wait for some under development features. But, after all…
The plugin is now simplier to install.
You can still use it as before.
But there is a new mode: it can use directly the Prosody Server executable from Peertube. The only prerequisite is to install the Prosody package on your server.
You don’t have to configure Prosody, and you can even shutdown the service. The plugin will launch directly Prosody with custom configuration and modules.

With this mode, Prosody and Peertube can interract. Peertube moderators and admins will be owner of the rooms, the video owner will be moderator. Moderation tools are available (all common XMPP moderation tasks: kick, voice, message deletion, …).

The settings screen is still «complicated», but I have to wait the stable version of Peertube 3.2.0 to release a simplier version. It should be available in June.

The Roadmap is here: https://github.com/JohnXLivingston/peertube-plugin-livechat/blob/main/ROADMAP.md

1 Like

Awesome stuff, yes, it’s very simple to install, integrating a Prosody executable is awesome, because, I’ll be honest, we don’t have any experience with XMPP/Prosody, so would have difficulty setting this up without you doing this. I think what you have done, and are doing, is truly awesome :slight_smile:

1 Like

Thanks to Framasoft for making this possible :slight_smile:

2 Likes

Yes indeed, Peertube is a pleasure to use, it’s so simple at the front-end, « just works », and getting better every release

1 Like

This is really nice. I admit I wanted this but because I already had a Jitsi Meet server and wasn’t sure how to install Prosody either relying on it or without wasting resource I didn’t dare try.

What I did instead was relying on Matrix/IRC and the bridge and embedding. You can see an example here Fabien Benetou's PIM | Integration / PeerTubeChatroom in case anybody wants integration done outside of PeerTube.

Regarding Docker I’m no expert but I begin to know my way around it. By adding a service to the Docker-compose.yml file it becomes part of the same network as other services, e.g peertube. Consequently Peertube web server should be able to query prosody:52800 while not being available by default to the outside world. That part seems fine and is standard practice. What is less though is managing processes directly across containers. That would mean modifying the Dockerfile container of PeerTube itself and because it’s a plugin I would argue not ideal especially if one has to follow PeerTube updates. What would be preferred (again, arguable) is to have prosody always available. Ideally there both PeerTube and Prosody Dockerfile remain unmodified and only environment variables or configuration files are added. Very interesting to consider how complex plugins should integrate with PeerTube. Could be valuable to ask Chocobozzz for his opinion since he is maintained Dockerfile and docker-compose.yml himself.

I had the same problem! The server on which I tested the very first version had also a Jisti Meet server, and this caused me many problems (because of some Prosody global variables…). It took me several day to find a working configuration!

This is a type of solution that I also tested. But I found some bugs in embedded lives at that time, so it was not good for my needs.

The way that I manage the Prosody process in my plugin is not far from the way Peertube uses ffmpeg.
I’m not sure to fully understand where is the problem for you (again… I’m a total noob to Docker). But if I need to do it differently for Docker installations, why not. Should not be very difficult to rely on docker compose to manage the prosody process, and only generate the prosody config file from the plugin.

I think I got it!

Here is the documentation for the docker installation: peertube-plugin-livechat/prosody.md at main · JohnXLivingston/peertube-plugin-livechat · GitHub

The Dockerfile is here: peertube-plugin-livechat/Dockerfile.buster at main · JohnXLivingston/peertube-plugin-livechat · GitHub

There is only one little issue: the Prosody process runs twice in the peertube container. The first process is launched at the container startut, and the second is launched from Peertube.
It is working as is, but it would be nice to shutdown the Prosody process launched by the system. I tried RUN systemctl disable prosody in the Dockerfile, but it seems this is not the right way to do it.
If someone can help…

1 Like

Thanks for this. Exactly what I was looking for. Works great with Chatango.

1 Like

Can I see the result somewhere? Just curious :slight_smile:

I wish I could change the colors of the background and such but haven’t quite figured out if possible

Very nice!