Create a Jitsi-meet DNP?

Hi Nodlers,

Few days ago we tried to do a Jisti meeting for a local non-profit association with Zied but we had to cancel because of very bad latency. ( 10 peoples)

We wonder if using self jitsi meet server will be better. All association members are in the same city.

Zied bootstraps docker-compose and dnp template in his github ( thank you): https://github.com/zguesmi/jitsi-meet-dnp

To go further, we must decide what to do regarding network of docker compose as Jitsi meet need several services (web, prosody,jvb etc …).

From my understanding, a specific network is created for dappnode core communication and for all dappnode packages that join a specific docker network. (code of merge and overwrite of docker-compose around here : https://github.com/dappnode/DNP_DAPPMANAGER/blob/9c52d86a074f67e95863392a4d5995064d5f753f/build/src/src/utils/dockerComposeParsers.ts#L288 )

So, we can’t create today a docker-compose with multiple services. Is that right ?

What is the best way to process currently :

  • only provide only 1 service in docker compose, using supervisord to launch all services in background in 1 dirty container ?

  • split into several DAppNode packages for each service and add dependencies between them ?

  • other solutions in long term or support of several services in one docker-compose?

There is also keys to generate only at install. We can create an entrypoint script to generate keys if not set. But is there a pre install feature for dappnode package that can be usefull here or for others packages too ?

There is also the https support question.

I think being able to deploy a Jisti meet server on DappNode can be cool to be able to join local collective provider after that. For instance this one :

You can then target and use services, serve by small local providers :

https://entraide.chatons.org/en/

Being able to serve jisti calls for your associations or trusted people around you.

Bonus idea: use unlock Protocol membership or something like this, to restrain access to trust people or local associations jitsi usage. Share and revoke access at any time.
Or broadly speaking, share and revoke access on DNP level like ?

Bonus question : is there a fail2Ban feature in dappnode

We can discuss about this dnp idea at the next community call if you want.

2 Likes

Hello @fbranciard, nice to have you here :slightly_smiling_face:

For now, we don’t support multi-service compose packages. The way to go would be:

  • To create a single package “merging” all binaries in a single package and starting them with supervisor or similar. This makes sense for smaller packages, but this approach wouldn’t fit for jitsi, because of the size and modularity of the components.

  • Other approach is to build separated packages, and make prosody, jvb, etc. dependencies of the main package. Not ideal either, since it’s harder to maintain, but it’s what we do currently for multi-component packages.

Adding multi service docker-compose files is something we should explore and discuss.

→ HTTPS support is in the oven (@Edu did a small PoC) so this will be added in upcoming releases.

→ fail2ban would require access to the host to manage iptables, but maybe it could be added. I haven’t explored that tbh.

See you in the community call!

1 Like

Thank you for your feedbacks @vdo !
Adding multi service docker-compose files support will be nice, but I can understand that it could impact a lot the current code base.

Really interesting this package!