Commit Graph

513 Commits

Author SHA1 Message Date
Gustavo Trott
0721bfac75
Merge pull request #21259 from antobinary/move-html5
build: move bbb-html5 files from /var/bigbluebutton
2024-09-25 16:58:29 -03:00
Anton Georgiev
488d78742d build: move bbb-html5 files from /var/bigbluebutton
Closes https://github.com/bigbluebutton/bigbluebutton/issues/21161
As suggested by @danimo the client files for bbb-html5
are not variable/dynamic content and are a better fit for /usr/share
than for /var/bigbluebutton (where they'd also be in the way of
recording files)
2024-09-25 12:39:04 -04:00
Gustavo Trott
439f0486f7 Introduce an endpoint /api/rest/clientSettings that will be used by the client to fetch userdata info before creating a graphql connection.
It is necessary to fetch props bbb_custom_style and bbb_custom_style_url.
2024-09-25 11:53:02 -03:00
Gustavo Trott
f5c09a6d81
Improve comment about changing Hasura admin password
Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>
2024-09-10 21:15:05 -03:00
Gustavo Trott
3e13ba7d36 netstat is old, not used anymore. ss is the natural replacement. Very similar syntax
Danimo recommendation
2024-09-10 15:24:32 -03:00
Gustavo Trott
520c76007a Move Hasura password path from /usr/share/bbb-graphql-server/admin-secret to /etc/default/bbb-graphql-server-admin-pass
It was recommended by Danimo because /etc is for mutable stuff

It also adds comments with context about this file

The owner is set to root:root and permission 600 to be only readable by root (also Danimo suggestion)
2024-09-10 15:01:57 -03:00
Gustavo Trott
88057f5bc8 add a messaged to confirm it finished after-install 2024-09-02 15:07:28 -03:00
Gustavo Trott
ac043b93a5 try to fix tests timeout error 2024-09-02 15:03:08 -03:00
Gustavo Trott
48c891450a
build: relax bbb-graphql-server dir permission (#21085)
* relax bbb-graphql-server dir permission

* move gql-server dir permission
2024-08-30 18:08:51 -04:00
Gustavo Trott
4f22dca3de
build: relax bbb-graphql-server dir permission (#21084) 2024-08-30 17:56:58 -04:00
Gustavo Trott
f96a400ca4
build: remove permission for /usr/share/bbb-graphql-server/ (#21083) 2024-08-30 17:27:56 -04:00
Gustavo Trott
acff8ba0f8
refactor (build/gql-server): Introduce Hasura override config and a file to store Adm Password (#20993)
* Introduce Hasura override config and a password file

* Add message when set a password to Hasura

* add logs to inspect errors

* fix config file name

* test changing key file owner

* test without override file

* fix print status

* store password as env var

* changes suggested in PR
2024-08-30 10:49:58 -04:00
Gustavo Trott
e1407149b9
refactor (build/gql-middleware): Introduce config as a yml file (#20992)
* Introduce Gql-Middleware config as a yml file

* use path /usr/share/bbb-graphql-middleware/ instead of /usr/local/bigbluebutton/bbb-graphql-middleware

* remove /etc/default/bbb-graphql-middleware file
2024-08-29 17:40:52 -04:00
Paulo Lanzarin
89209fc7ee
feat(audio): dedicate mediasoup workers for audio streams
mediasoup workers are currently for general use,
regardless of stream type. This makes it difficult to give
different scheduling priorities for audio workers or prevent
noise from video streams, when our goal is to give higher
priority to audio in all ends of the system.

Set `mediasoup.dedicatedMediaTypeWorkers.audio` to `auto`. This will spin up 
`ceil((min(nproc, 32) * 0.8) + (max(0, nproc - 32))` mediasoup workers 
dedicated to handling audio streams.
2024-08-20 15:06:32 -03:00
Gustavo Trott
09cc37feef
refactor (gql-middleware): Code improvements and new Prometheus metrics (#20896) 2024-08-19 10:58:14 -03:00
Anton Georgiev
21533ee42a
build: revert removal of gzip command in bbb-html5/build.sh (#20929) 2024-08-14 08:48:13 -04:00
Gustavo Trott
47997a932a
Add scripts to run html5 from source (#20899)
* Add scripts to run html5 from source

* remove unnecessary sudo
2024-08-12 09:35:45 -03:00
Anton Georgiev
b1b79653cc
build: remove old custom bbb-html5 NodeJS binaries (#20897)
* build: remove old custom bbb-html5 NodeJS binaries

* docs: mention removal of node v14

* build: list bbb-web as dependency to bbb-config

* build: undo set license

* re-add bbb-html5 as dependency to bbb-config
2024-08-10 13:03:11 -04:00
Tainan Felipe
4d6f4b3ded
Refactor: Make bundle using webpack (#20811)
* Refactor: Make bundle using webpack

* Fix: restore after install codes and a few settings

* Fix: build script folder permission

* Refactor: Remove support to async import on audio bridges

* Upgrade npm using nvm

* Avoid questions on npm ci execution

* Let npm ci install dev dependencies (as we need the build tools here)

* Fix: enconding

* Fix: old lock files

* Remove: bbb-config dependency to bbb-html5 service, bbb-html5 isn't a service anymore

* Fix: TS errors

* Fix: eslint

* Fix: chat styles

* npm install with "lockfileVersion": 3 (newer npm)

* build: allow nodejs 22

* node 22; drop meteor from CI and bbb-conf

* TEMP: use bbb-install without mongo but with node 22 and newer image

* build: relax nodejs condition to not trip 22.6

* build: ensure dir /usr/share/bigbluebutton/nginx exists

* init sites-available/bbb; drop disable-transparent-

* nginx complaining of missing file and ;

* TMP: print status of services

* WIP: tweak nginx location to debug

* Fix: webcam widgets alignments

* akka-apps -- update location of settings.yml

* build: add locales path for nginx

* docs and config changes for removal of meteor

* Fix: build encoding and locales enpoint folder path

* build: set wss url for media

* Add: Enable minimizer and modify to Terser

* Fix: TS errors

---------

Co-authored-by: Tiago Jacobs <tiago.jacobs@gmail.com>
Co-authored-by: Anton Georgiev <anto.georgiev@gmail.com>
Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>
2024-08-09 13:58:44 -04:00
Gustavo Trott
1e32ee794e several refactors 2024-08-08 16:50:41 -03:00
Gustavo Trott
8e70891083 Implements max of Graphql connections (global and per user) 2024-08-06 15:07:52 -03:00
Paulo Lanzarin
936363b310 feat(bbb-webrtc-sfu): enable new mediasoup balancing strategies
We currently use a simple producer round-robin algorithm to distribute
elements between mediasoup workers. This works for most scenarios but
fails in some edge cases, such as:
  - 1-to-N scenarios where N >= ~600-800 (sample number, varies by
  single-core performance). This is due to subscribers being pinned to a
  producer's worker.
  - Poor distribution results from round-robin.

Enable the following new features in bbb-webrtc-sfu via after-install by
default:
  - `mediasoup.workerBalancing.strategy: least-loaded`: Replaces
  round-robin with load scoring. Workers are selected based on which is
  least loaded.
  - `mediasoup.enableWorkerTransposing: true`: Allows media streams to be
  bridged between workers through internal RTP pipes. This, along with a
  per-worker stream limit, enables seamless offloading of streams between
  workers (whether publishers or subscribers). The per-worker stream limit
  is still under review.

These changes should address the issues mentioned. They are enabled via
after-install because the SFU version is shared with previous BBB versions
where these features are not desirable yet.
2024-08-01 18:21:07 +00:00
Gustavo Trott
4cb41f723b Increase gql-middlware MAX_CONN_PER_SECOND=100 2024-07-23 11:26:48 -03:00
Gustavo Trott
0cf7c90663
Merge pull request #20736 from gustavotrott/remove-user_connection_auth
remove (gql-server): Removes old PG user/tabled created for Meteor auth
2024-07-19 13:40:26 -03:00
Gustavo Trott
f158951257
remove (gql-server): Removes /rest/clientStartupSettings endpoint (#20735) 2024-07-19 11:30:16 -04:00
Gustavo Trott
7e0295d0a9 Removes old PG user/tabled created for Meteor auth 2024-07-19 11:38:46 -03:00
Anton Georgiev
81d5d7daae
build: bbb-playback copy files properly (#20710) 2024-07-16 12:37:57 -04:00
Gustavo Trott
b14c643def
build(gql): Upgrade Hasura and refactor sh scripts (#20699) 2024-07-12 13:32:20 -04:00
Gustavo Trott
7f68928790
build(fix): force Hasura to always restart on upgrade (#20689) 2024-07-12 10:53:21 -04:00
Gustavo Trott
2c2d595212 Big refactor on Graphql authentication 2024-07-10 18:30:01 -03:00
João Victor
41746ca67e Merge branch 'v3.0.x-release' into remove-meteor-stuff-0702 2024-07-05 12:24:31 -03:00
Gustavo Trott
e92dacd039
fix (build/gql-server): Hasura trying to apply metadata using wrong password (#20637)
* fix: Hasura trying to use wrong password to apply metadata

* Print password was set only when it generated a new one
2024-07-05 10:26:54 -04:00
João Victor
9402402e0f Merge branch 'v3.0.x-release' into remove-meteor-stuff-0702 2024-07-02 17:13:28 -03:00
João Victor
50d445f026 Remove Meteor backend 2024-07-02 14:58:58 -03:00
Anton Georgiev
759bf882c7
build: add bbb-playback-version file to help identify local bbb-playb… (#20607)
* build: add bbb-playback-version file to help identify local bbb-playback version
2024-07-02 12:06:03 -04:00
Gustavo Trott
8943e22564
Increase Hasura keepalive delay to 10 (was 5) (#20599) 2024-06-28 16:50:44 -03:00
Anton Georgiev
fabcb7a3ef
build: Clean up sfu after-install (#20595) 2024-06-27 19:24:37 -04:00
Tiago Jacobs
b3a108fba4 Increase maximum number of open files 2024-06-20 19:02:24 -03:00
Gustavo Trott
1465d3dca3
refactor (gql-server): Set some configs for Max PG connections and Nginx max workers aiming to support more users (#20549)
* Set hasura max connections with pg to 100

* set nginx worker_connections from 4k to 10k

* Update bbb-graphql-server/metadata/databases/databases.yaml

* remove deprecated config

* set pg max connections up to 300

---------

Co-authored-by: Tiago Jacobs <tiago.jacobs@gmail.com>
2024-06-20 16:41:47 -03:00
Daniel Schreiber
c5b657a409 Fix: File permissions in packages should not depend on umask of build system
If the build system for packages has a umask of `0077`, cloned
repositories will have no permissions for group and other. As the build
scripts for some packages just copy from clone git repos, this will
preserve the permissions in the package and prevent the following
services from startup:

* `bbb-html5`
* `etherpad`
* `bbb-pads`
* `bbb-export-annotations`
* `bbb-rap-*`

This patch grants everyone read permissions to the code in the packages.
2024-06-14 16:17:49 -04:00
Gustavo Trott
656e29e7eb
Refactor middleware to get user info from akka-apps api (#20491) 2024-06-14 13:43:05 -03:00
Gustavo Trott
24219ea5c8 Upgrade Hasura to version v2.40.0 2024-06-10 10:59:13 -03:00
Gustavo Trott
6e9b4b3e4f Remove meteor assets cleanup routine 2024-06-07 16:14:46 -03:00
Ramón Souza
7514066fc3
fix: Client can't load in certain cases (#20336)
* move settings

* remove meteor cache files
2024-05-29 09:26:11 -04:00
Ghazi Triki
7b4c506bc5 Update logrotate rule to add date extension to archived logs files. 2024-05-24 11:34:24 -04:00
Tainan Felipe
1aab2f5f29
Change: Change websocket lib to graphql-ws (#20282) 2024-05-22 15:51:12 -03:00
Anton Georgiev
b9a46197ed build: set permissions for resque files [3.0] 2024-05-15 14:36:11 -04:00
Gustavo Trott
ca4717c92d set hasura cli config with correct password 2024-05-08 11:44:44 -03:00
Anton Georgiev
628c3bb32b
Merge pull request #20132 from antobinary/html5-pack-30
refactor/build: drop html5InstanceId and simplify bbb-html5 frontend/backend
2024-05-08 10:04:37 -04:00
Gustavo Trott
7975ca02d0 Change graphql endpoint 2024-05-08 08:46:14 -03:00