Closed pierreozoux closed 5 years ago
I'll let others also chime in, but here is my personal take: it's too fragile. It will only work on Linux because Docker on macOS spawns a tiny Linux VM so all ports we need to function would need to be forwarded to that VM.
In addition, Docker is very opinionated about what a container should include: we need nginx, prosody, jicofo and jvb. In my mind that should all go to a single container, but there is no way that pleases everyone.
So, all in all, I fear this would bring more trouble than it's worth.
Those are my 2 cents.
I need it, so I'll work on it, I'll solve my troubles :)
My question is more, what if I maintain it, would you like me to PR this repo and help you make it official?
I need it, so I'll work on it, I'll solve my troubles :)
Great!
My question is more, what if I maintain it, would you like me to PR this repo and help you make it official?
Yeah, that would be nice.
Thanks for volunteering! 🥇
BigBlueButton offers this kind of service and has worked well for them. Why not have some VM images of an Ubuntu server, Mac, etc running?
Other than the time it takes lol.
@AndyNormore we are post VM world nowadays :)
Here is the helm chart for jitsi: https://github.com/kubernetes/charts/pull/863
As @gpolitis mentioned in https://github.com/jitsi/jitsi-videobridge/pull/442#issuecomment-289563096, and it makes more sense also to have an official image, could you create 3 repos, and eventually give me push rights there:
In the mean time, I created https://hub.docker.com/u/jitsi/, where we'll push docker images, waiting the official acceptance from docker. (Give me your docker hub handle, then I can put you admin there).
To be able to make the docker images officials, I'll need the following to be solved:
Hey @pierreozoux thanks a lot for your work on this! I'll share my thoughts here, note that these need not represent the view of Jitsi as a whole, and we should seek consensus before more effort is put in this. Are you familiar with the Jitsi community call? I think it would a great venue for discussion.
So, in general terms a Jitsi Meet deployment has 2 parts: the signaling plane and the media plane.
Having a container for each component in the signaling plane adds a lot of unnecessary complexity IMHO, the real load is in the media plane.
My ideal container setup would involve a signaling container, and a number of media containers (jigasi and jibri being other extra containers). Since they have to work together, something like Docker Compose or ansible-container would be great, with extra credit for Swarm or K8s.
When is the next meeting? (Sorry, I searched for the information, didn't find it) But yes, would be happy to join and explain my vision.
Here you go!
Jitsi Community Call Scheduled: Apr 10, 2017, 17:30 to 19:00 (GMT+2) Location: https://meet.jit.si/TheCall
I repeats every 2 weeks, we just had one yesterday, alas.
FYI I came across this
https://github.com/robertoandrade/docker-jitsi-meet/blob/master/Dockerfile
Seems to be running fine for me now. But yeah, an official solution would be nice.
+2
Got home a few hours too late to join the community call. Did you guys make any conclusions on the next steps for the docker image support?
Bummer :/ I forgot. I'm really sorry, I'm under stress lately..
I'll come next meeting the 24th then.
Sorry again!
On 10-04-2017 18:58, hlevring wrote:
Got home a few hours too late to join the community call. Did you guys make any conclusions on the next steps for the docker image support?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jitsi/jitsi-meet/issues/1388#issuecomment-293028938, or mute the thread https://github.com/notifications/unsubscribe-auth/ABxvHXN3N2an1GZ2SbdUtU4jN6N5NjYXks5rum3UgaJpZM4MYMwa.
-- I use PGP to protect our privacy, if you want to know more, you can follow this https://emailselfdefense.fsf.org/en/
If you have further questions, please do not hesitate to ask. You can verify my public key here: https://keybase.io/pierreozoux
Hey folks! We talked about it yesterday, here is the specific part: https://www.youtube.com/watch?v=o-FenGz97KQ
TLDW: We are leaning towards a single fat container to begin with, my suggestion being to base it on https://github.com/phusion/baseimage-docker because it's based in Ubuntu and our packages can be used right of the bat.
I understand not everyone likes this, but that's our stance at the moment. If anyone wants to work on this, a PR is more than welcome, I'll help review.
Ok, I'm sad, but it is your project/decision.
Do you want it to become official docker image, or not? If yes, then, don't use phusion. https://github.com/docker-library/official-images/blob/master/README.md#init
If no, then, just close this thread.
TBH I don't know the difference between an official image and me pushing images under a username.
At any rate, from that document:
Following the Docker guidelines it is highly recommended that the resulting image be just one concern per container;
In my book, "highly recommended" is not the same as "forbidden if otherwise".
I do want us to have a Docker image users can use, but based on Phusion's base image, for the time being. If you don't want to follow this direction, I understand, somebody else will do the work, but I'd like to ask that you don't use the Jitsi name in Docker Hub, please, since users would be confused.
Thanks,
TBH I don't know the difference between an official image and me pushing images under a username.
It is like an official debian package and a ppa. You get security scans for free also: https://hub.docker.com/r/library/node/tags/ (You need to be logged in to see them)
In my book, "highly recommended" is not the same as "forbidden if otherwise".
I can tell you that they'll refuse anything based on phusion. check the repo, there is not such thing.
I do want us to have a Docker image users can use, but based on Phusion's base image, for the time being. If you don't want to follow this direction, I understand, somebody else will do the work, but I'd like to ask that you don't use the Jitsi name in Docker Hub, please, since users would be confused.
Yes, I created that organisation: https://hub.docker.com/r/jitsi/ for the mean time, please just give me your docker hub handle, and I promote you as admin right away. It was not to confuse people, but just speed things. Sorry if you felt offended.
I can tell you that they'll refuse anything based on phusion. check the repo, there is not such thing.
That's too bad then :-S
Yes, I created that organisation: https://hub.docker.com/r/jitsi/ for the mean time, please just give me your docker hub handle, and I promote you as admin right away. It was not to confuse people, but just speed things. Sorry if you felt offended.
On the contrary, I appreciate you efforts a lot! I'm sorry we couldn't find alignment in how want to pursue things at this stage, but never say never!
My Docker Hub handle is the same as my GitHub username, thanks for that!
@saghul you are now owner of the dockerhub jitsi organisation.
Thank you!
Hey @pierreozoux, I also need the docker images for my project, is there any WIP or something I can contribute to??
In each project I opened a PR, you should find everything there.
If you need an helm chart, I opened a PR in the official chart repo.
I have some stuff I ddin't commit yet, if you need help, ping me here.
what is the state here?
@l00mi nothing to report so far, sorry.
@saghul I know you commented just a few days ago but I'd like to know which is the status of this so far...
Thanks in advance!
Excuse my cut-off reply:
We are happy to take any contributions you’re interested in making. We haven’t had this as a priority because of the many and varied ways in which jitsi-meet is deployed. Any docker container with jitsi-meet would need to be able to connect to other other components (jicofo, jitsi video bridge), which require configuration. Any docker solution would have to allow for the many different ways that the stack can be deployed.
So we’re open to community contribution, and haven’t focused our own efforts on Docker as a deployment solution at the current moment.
Cheers,
-Aaron
On Sep 20, 2017, at 10:55, Aaron van Meerten aaron.van.meerten@gmail.com wrote:
We are happy to take any contributions you’re interested in making. We haven’t had this as a priority because of the many and varied ways in which jitsi-meet
On Sep 20, 2017, at 10:53, Mauro notifications@github.com wrote:
@saghul https://github.com/saghul I know you commented just a few days ago but I'd like to know which is the status of this so far...
Thanks in advance!
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/jitsi/jitsi-meet/issues/1388#issuecomment-330896595, or mute the thread https://github.com/notifications/unsubscribe-auth/AC8JeB0OP5gJsDEIvFaKX3Wz_537uWwrks5skTTlgaJpZM4MYMwa.
@aaronkvanmeerten I comprehend your comments. Thanks for your response.
I found one solution developed by matrix. https://github.com/matrix-org/docker-jitsi
fyi: I'm currently working on a solution for OpenShift. I've created an s2i image for jitsi-meet you can find here. I will also publish my OpenShift template in some weeks.
Chipping in here. Investigation the Jitsi for first time. I fully support @pierreozoux and not so much the ideas lie @aaronkvanmeerten is mentioning: "docker solution would have to allow for the many different ways ".
People new on the block want to get something up and running quickly and searching for a strong opinionated simple deployment. Working from there the adjustment will come later on personal preference. I spend an hour on this project now and still dont have a test thing running. That's enough to let many people wander away and dont come back.
So please: quick docker deployment, well, heck yes, on Ubuntu/nginx why not? The Windows and Mac guys can easily follow along if needed...
Now a coffee and wandering of to some other WebRTC to see if I can get something quickly running to demonstrate our needs...
I think a docker-compose file with individual images will work best, you can keep a docker image per project and then join them all together with a docker-compose file.
Yes, it's true that MacOS still uses a VM for docker, but it has port forwarding and it's basically invisible if you map the ports correctly.
Having a monolith FROM: ubuntu
will also work and will make the development of the image easier, but it's not really the docker way and will make it harder to achieve more complex setups (autoscaling, for example) since all the parts are within the same image.
For the people not familiar with docker-compose: Compose is a tool for defining and running multi-container Docker applications. To learn more about Compose refer to the following documentation https://docs.docker.com/compose/
Here's another take for the Jitsi Stack: https://github.com/tiredofit/docker-jitsi-meet
@novalis111 would be pull if you could set up an automated build in Docker Hub for your images. They are really cool and I would like to try to use them in docker swarm mode. edit: oh, my bad, found it
@dimaip They are not mine, just found them on the search for a good docker image. It's a shame there is no official one for jitsi meet, but i see the complexity as well, esp. if you strive to have it platform independent.
@l00mi yep, as said, found it already, was looking at docker-compose.yml file originally.
At the moment it seems we have at least five options on github for dockerfiles for jitsi:
We've just spent an hour finding that https://github.com/robertoandrade/docker-jitsi-meet doesn't work for us out of the box, and seems to be rather out of date.
I guess our options now are to try all these other four versions in turn, and then make our own if none of them work?
We love jitsi, but the performance on meet.jitsi.org is insufficient in terms of screen share and youtube streaming, hence we want to deploy our own, but at the moment we're just burning time on this. We've got dokku instances on Azure and would love to be able to push up a dockerized jitsi that supports screen sharing and youtube streaming to find out if we can get the performance level we need for our pairing community with larger ubuntu instances ...
If anyone has any suggestions for which jitsi docker image to focus on we're all ears - or is there something we can do to help the jitsi community come together behind some particular approach to deployment automation?
At the moment the above mentioned one is the most advanced imho. Best case scenario is if this would be updated by the Jitsi maintainers with clear instructions at least for the most common platform, which is Linux. I was able to set it up in two days, but there are lots of "little secrets" missing in the docs like the need to setup multiple subdomains to get it to work.
@novalis111 thanks - you're saying that https://github.com/robertoandrade/docker-jitsi-meet is the most advanced? Or one of the other ones?
Do you have any notes on all those little secrets? :-)
Nope, https://github.com/tiredofit/docker-jitsi-meet bc he followed the manual installation procedure and provides good documentation. Unfortunately i didn't make notes then tinkering. Maybe in a few days when i migrate it to a bigger server.
@novalis111 @tansaku @tiredofit I'm not deploying jitsi any more, so I don't need it anymore, but I understand your pain, it is really annoying. But if the maintainers don't want, it is really difficult to start a community work, if it is not happening upstream.
What we can do, is to create an org, our own repo, and collaborate there. Yes, it looks like this, but this is the best plan I can come up.
We can create this with the following goal:
I'm not sure it will work, and I have personally no resources for that at the moment, but it might work :) I'll add anybody asking me as an owner of the github org or docker hub org.
I'm more than willing to make some edits to my Jitsi Meet stack to function better, but at this stage I've reached my technical knowledge of how to make anything much more work. I've gone as far as getting LDAP authentication to work, but I'd really like to be able to have a solution that allows for token based logins (to be used with Rocketchat), and also take advantage of the LDAP mechanism.
I too struggled when I started out to make Jitsi Meet work and we are not deployed in production on our site as there are still a few too many unknowns.
It is very unfortunate that there is no currently working solution on jitsi. The reps I tried have lots of bugs and get you frustrated after spending a couple of hours. If the maintainers really care about the popularity of their product, they should rethink their decision.
I've been secretly working on a set of Docker images on my spare time. I hope to share them soon.
We have not forgotten, but things take time...
@saghul if you shared them, perhaps we could all help you testing them and tweaking them?
Things sure do take a long time if you work on them independently in your spare time, but sometimes a team of folks can move faster - or it can go the other way too :-) Naturally it's totally up to you :-)
Right now we'd just like to start with something ... doesn't have to work, just be one that we all put our backs behind
I'm the maintainer of https://github.com/rberrelleza/jitsi-docker. I wrote https://github.com/rberrelleza/jitsi-docker/blob/master/Dockerfile based on the installation script, it all runs in a single container, and it works fine on EC2. That being said, it hasn't been tested beyond 2-5 people. If there's interested, I wouldn't mind opening a PR and making this "official".
@rberrelleza I'm taking a different approach in the end: a container per service with user defined networking for communication. docker-compose takes care of most of what's needed.
I guess there should be both variants, maybe called "simple" and "advanced". I tried the current state from @tiredofit and @rberrelleza last night and none of them builds atm. Tried on Debian 9.4 w/ latest docker package. I will try to debug and maybe start an approach with debian packages and automating config for a monolithic and simple version for those guys who just want a simple proof of concept or sth for small companies/groups/families/friends.
@novalis111 That's what I did. Except it's multiple containers instead of one, but that should be ok with docker-compose, since it looks like a monolith.
Then don't be shy and push what you have ;) I think there are plenty of people here willing to help with testing and weeding out bugs. You could join the org @pierreozoux created or sth to make this a group effort.
It's not about being shy. As I said, it started as a side project which I want to bring into this org, but I want to feel comfortable with it before proposing it. I strongly disagree with the mere existence of github.com/librejitsi so don't expect me to go there.
It would be nice to have one (or different) official Docker image.
I will work on it for me, if you are intersted, I can help you making it official. In the mean time, i could also PR it here?
Let me know what you think!