12 Commits

Author SHA1 Message Date
Jeremy Stanley
aeced375fa Move our jitsi-meet interface config to defaults
It appears upstream container init now copies this from defaults,
overwriting our modifications. Shadow the one in the container with
ours so it gets copied into the eventual destination.

Also switch back to the old muting variables we were using before,
since the new "with" bools seem not to work (still worth looking
into later).

Change-Id: I7e91e82e6f91b44c5c7eb1406ba0c64d30e6b8ff
2022-09-02 17:31:57 +00:00
Jeremy Stanley
a2eda2203a Update Jitsi configs to latest upstream samples
Bring our 5 configs into line with current upstream versions
(jitsi-meet_7648 and stable-7648-4 tags from the jitsi-meet and
docker-jitsi-meet repositories respectively). Attempt to preserve
most of our earlier overrides:

 * configure Etherpad integration
 * disable background blurring
 * disable watermarks
 * open shared document on join
 * start with audio and video muted
 * redirect HTTP to HTTPS
 * disable XMPP WebSockets
 * disable P2P connections
 * templated credentials
 * templated unique JVB server identifiers

Drop any options we previously set which later became defaults (like
useRoomAsSharedDocumentName or UTC as the TZ). Identify the upstream
repo and tag on which each file is based. Stop claiming Firefox is
not recommended, now that the default configuration adds a pre-join
page which helps browsers realize they should not treat the audio
stream as unsolicited. Switch to newer vars for muting audio and
video as a boolean rather than at a participant threshold.

Update the docker-compose files to use the stable tag instead of
latest, since upstream seems to just stop refreshing the latest tag
far too often. Clean up extra envvars we were setting for JVB which
we didn't pass through to the containers.

Change-Id: I1e5a3836917f3d90ad7dd1c0771871740fda3cda
2022-09-01 17:41:25 +00:00
Clark Boylan
c6da6dcff3 Start meetpad meetings with muted audio
When you connect to meetpad it says:

  You have started the conversation muted

It does this because we have muted video by default. Unfortunately, this
statement is ambiguous because audio is unmuted by default. Address this
by muting audio by default on join as well. Then when you are told you
are muted you can go unmute audio and video if you wish.

Change-Id: Iba399c92e1f8c6fba5e21ad45a2f4c7e5286429c
2022-01-18 13:54:40 -08:00
Clark Boylan
d0bc265c2a Revert "Enable jitsi-meet xmpp websockets"
This reverts commit f64b935778074191337672c739978975ee4eda68.

There must be more required to make this work.

Change-Id: I21e1d45fabca10ee93e7c87449fc15f3fd691b8b
2021-03-18 15:33:20 -07:00
Clark Boylan
f64b935778 Enable jitsi-meet xmpp websockets
This switches desktop clients to using xmpp over websockets instead of
BOSH. The mobile clients continue to use BOSH. Apparently this provides
better performance and is the default expectation of the upstream docker
images. We had disabled it prior to get back to a working state when we
weren't setting this variable at all.

After looking at configs on the docker images I expect that enabling
this explicitly will work (the problem before was we neither enabled nor
disabled it and the images can't handle that case). If that isn't the
case we can always revert.

Change-Id: I59c9fe75a0860782beb8864ff3bd9622b35381c1
2021-03-18 11:59:14 -07:00
Clark Boylan
55f38141c5 More jitsi meet config cleanups
This removes an unused letsencrypt dir bind mount for jitsi-meet web
that was causing confusion (we run letsencrypt out of band and put the
certs in the correct dir so we don't need this specific bind mount).

We also remove the now unused config.js config file from the role.

We stop managing the default nginx config and instead rely on the
container provided template. To properly configure http redirects we
set the ENABLE_HTTP_REDIRECT flag in the env var file.

Finally we update the README file with a bit more info on how this all
works.

Change-Id: Iecb68c9855b5627d25f8bb586b0e6f366f1c80ab
2021-03-18 11:55:02 -07:00
Clark Boylan
d410b43b59 Restore some meetpad settings we had previously set
This starts conferences with participant video muted and it disabled p2p
connections for calls between two participants. We had these settings
before but the recent container image update undid them.

Change-Id: I4152ace083f79116758020fbbcbbb96e39eef9ed
2021-03-17 13:24:38 -07:00
Clark Boylan
2ac695f628 Manage jitsi-meet meet.conf as a template input for the container
The jitsi meet containers want to generate configuration from the
templates found in /defaults on the container to config files in the
bind mounted /config (/var/jitsi-meet/ on the host side). This means
that the configs ansible is writing to /var/jitsi-meet are complete
ignored and overwritten by the container using its templating system and
env vars.

This is causing us problems because we would like to use a different
etherpad prxoy config in nginx to ensure the Host header is set
properly. To make this happen we bind mount in our own template file so
that the container can template what we want rather than what is found
in the image.

Change-Id: Ifdde66a01bb7e632fc19ca0a512216584f1ea9f0
2021-03-17 13:03:09 -07:00
Clark Boylan
75a64427a1 Improve meetpad env options for templating
The PUBLIC_URL is quoted which results in quotes ending up in our config
breaking etherpad base url setting in config.js. We remove the quotes as
they are not necessary.

We also remove the /p/ suffix from ETHERPAD_URL_BASE as this causes the
proxying to send extra /p/s to etherpad which results in problems.

Note these fixes appear to be necessary but are not sufficient to have
working meetpad proxying of etherpad. We also need to fix the nginx
meet.conf proxy settings to send valid Host heads. A followup change
will attempt to address that.

Change-Id: I0f59339a33267468ad5481858507a43cefa0021d
2021-03-17 12:47:43 -07:00
Clark Boylan
7b87c7c305 Disable xmpp websocket in jitsi meet config
We unforked our jitsi web container and discovered that etherpad doc
embedding was broken. In the process of debugging this the jitsi meet
services on meetpad were restart which pulled in newer configs which
expect ENABLE_XMPP_WEBSOCKET to be enabled by default. Unfortunately
this wasn't quite working for us. Explicitly disabling this seems to
make audio and video calling work again. But doc sharing isn't even
attempted now.

Let's get this fix in as audio and video are important then we'll keep
debugging the etherpad doc sharing problem.

https://github.com/jitsi/docker-jitsi-meet/issues/902 has details from
others that hit this problem.

Note that part of the issue here seems to be that nginx is using the
default configs in the container found at /default and not the configs
we bind mount at /config. This at least seems to be why the proxying for
etherpad documents is broken.

Change-Id: I03fa9d331e6825b3b953a3573c0dd43c7be478a4
2021-03-17 11:38:56 -07:00
Clark Boylan
eb22e01f31 Add support for multiple jvbs behind meetpad
The jitsi video bridge (jvb) appears to be the main component we'll need
to scale up to handle more users on meetpad. Start preliminary
ansiblification of scale out jvb hosts.

Note this requires each new jvb to run on a separate host as the jvb
docker images seem to rely on $HOSTNAME to uniquely identify each jvb.

Change-Id: If6d055b6ec163d4a9d912bee9a9912f5a7b58125
2020-05-20 13:41:30 -07:00
James E. Blair
f7bf07a03d Use real passwords for meetpad
The docker containers expect this now and refuse to start with
fake passwords.

Change-Id: I4c4bd243c9684e3987eeb99e4c66d31a882336a0
2020-04-20 09:05:51 -07:00