Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 23 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Naming convention:

Please use `bbb-install.sh` to install or upgrade BigBlueButton.

For example use `bbb-install.sh` with the parameter `-v jammy-400` to install BigBlueButton 4.0 or upgrade to that release. Check https://docs.bigbluebutton.org for the latest production ready release of BigBlueButton.
For example use `bbb-install.sh` with the parameter `-v noble-400` to install BigBlueButton 4.0 or upgrade to that release. Check https://docs.bigbluebutton.org for the latest production ready release of BigBlueButton.

There are checks within the scripts that will inform you if the upgrade is not possible (i.e. operating system changed between the releases, or some really significant changes were made that prevent us from supporting an upgrade).
etc.
Expand All @@ -19,17 +19,16 @@ To help you set up a new BigBlueButton server (or upgrade from an earlier versio
The full source code for the installation scripts can be found [here](https://github.com/bigbluebutton/bbb-install).


So, to install the latest iteration of BigBlueButton 4.0 on a new 64-bit Ubuntu 22.04 server with a public IP address, a hostname (such as `bbb.example.com`) that resolves to the public IP address, and an email address (such as `info@example.com`), log into your new server via SSH and run the following command as root.
So, to install the latest iteration of BigBlueButton 4.0 on a new 64-bit Ubuntu 24.04 server with a public IP address, a hostname (such as `bbb.example.com`) that resolves to the public IP address, and an email address (such as `info@example.com`), log into your new server via SSH and run the following command as root.

~~~
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -w -v jammy-400 -s bbb.example.com -e info@example.com
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -w -v noble-400 -s bbb.example.com -e info@example.com
~~~

This command pulls down the latest version of `bbb-install.sh` from BigBlueButton 4.0 branch , sends it to the Bash shell interpreter, and installs BigBlueButton using the parameters provided:

* `-w` installs the uncomplicated firewall (UFW) to restrict access to TCP/IP ports 22, 80, and 443, and UDP ports in range 16384-32768.
* `-v jammy-400` installs the latest iteration of BigBlueButton 4.0.x .
* `-v jammy-300` installs the latest iteration of BigBlueButton 3.0.x .
* `-v noble-400` installs the latest iteration of BigBlueButton 4.0.x .
* `-s` sets the server's hostname to be `bbb.example.com`.
* `-e` provides an email address for Let's Encrypt to generate a valid SSL certificate for the host.

Expand Down Expand Up @@ -74,7 +73,7 @@ Note:

There are many hosting companies that can provide you with dedicated virtual and bare-metal servers to run BigBlueButton. We list a few popular choices below (we are not making any recommendation here, just listing some of the more popular choices).

For quick setup, [Digital Ocean](https://www.digitalocean.com/) offers both virtual servers with Ubuntu 20.04 64-bit and a single public IP address (no firewall). [Hetzner](https://hetzner.cloud/) offers dedicated servers with single IP address.
For quick setup, [Digital Ocean](https://www.digitalocean.com/) offers both virtual servers with Ubuntu 24.04 64-bit and a single public IP address (no firewall). [Hetzner](https://hetzner.cloud/) offers dedicated servers with single IP address.

Other popular choices, such as [ScaleWay](https://www.scaleway.com/) (choose either Bare Metal or Pro servers) and [Google Compute Engine](https://cloud.google.com/compute/), offer servers that are set up behind network address translation (NAT). That is, they have both an internal and external IP address. When installing on these servers, the `bbb-install.sh` will detect the internal/external addresses and configure BigBlueButton accordingly.

Expand Down Expand Up @@ -122,7 +121,7 @@ USAGE:

OPTIONS (install BigBlueButton):

-v <version> Install given version of BigBlueButton (e.g. 'jammy-400') (required)
-v <version> Install given version of BigBlueButton (e.g. 'noble-400') (required)

-s <hostname> Configure server with <hostname>
-e <email> Email for Let's Encrypt certbot
Expand Down Expand Up @@ -176,15 +175,15 @@ EXAMPLES:

Sample options for setup a BigBlueButton 4.0 server

-v jammy-400 -s bbb.example.com -e info@example.com
-v noble-400 -s bbb.example.com -e info@example.com

Sample options for setup a BigBlueButton 4.0 server with Greenlight 3 and optionally Keycloak

-v jammy-400 -s bbb.example.com -e info@example.com -g [-k]
-v noble-400 -s bbb.example.com -e info@example.com -g [-k]

Sample options for setup a BigBlueButton 4.0 server with LTI framework while managing LTI consumer credentials MY_KEY:MY_SECRET

-v jammy-400 -s bbb.example.com -e info@example.com -t MY_KEY:MY_SECRET
-v noble-400 -s bbb.example.com -e info@example.com -t MY_KEY:MY_SECRET

SUPPORT:
Community: https://bigbluebutton.org/support
Expand All @@ -206,7 +205,7 @@ Note: we're using `bbb.example.com` as an example hostname and `info@example.com
With just these two pieces of information (FQDN and email address) you can use `bbb-install.sh` to automate the configuration of the BigBlueButton server with a TLS/SSL certificate. For example, to install BigBlueButton with a TLS/SSL certificate from Let's Encrypt using `bbb.example.com` and `info@example.com`, enter the following command:

~~~
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -v jammy-400 -s bbb.example.com -e info@example.com -w [options]
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -v noble-400 -s bbb.example.com -e info@example.com -w [options]
~~~

> [options] is a placeholder for one or more [options](#command-options) that you may use.
Expand All @@ -221,7 +220,7 @@ The default installation is meant to be for servers that are publicly available.
When installing BigBlueButton in a private network, it is possible to validate the FQDN manually, by adding the option `-x` to the command line. As in:

~~~
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -v jammy-400 -s bbb.example.com -e info@example.com -w -x [options]
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -v noble-400 -s bbb.example.com -e info@example.com -w -x [options]
~~~

> [options] is a placeholder for one or more [options](#command-options) that you may use.
Expand Down Expand Up @@ -289,7 +288,7 @@ More on Greenlight can be found [here](https://docs.bigbluebutton.org/greenlight
To [install Greenlight](https://docs.bigbluebutton.org/greenlight/v3/install#bbb-install-script) you can simply use the `bbb-install.sh` command `-g` option:

~~~
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -v jammy-400 -s bbb.example.com -e info@example.com -w -g [options]
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -v noble-400 -s bbb.example.com -e info@example.com -w -g [options]
~~~

> [options] is a placeholder for one or more [options](#command-options) that you may use.
Expand All @@ -298,7 +297,7 @@ wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-rel
To install Keycloak just use the `-k` option with `-g`:

~~~
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -v jammy-400 -s bbb.example.com -e info@example.com -w -g -k [options]
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -v noble-400 -s bbb.example.com -e info@example.com -w -g -k [options]
~~~

> [options] is a placeholder for one or more [options](#command-options) that you may use.
Expand Down Expand Up @@ -338,7 +337,7 @@ After installation, you can become an [administrator](https://docs.bigbluebutton
Updating Greenlight is done simply through re-running the `bbb-install.sh` anytime while using the `-g` option:

~~~
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -v jammy-400 -s bbb.example.com -e info@example.com -g [options]
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -v noble-400 -s bbb.example.com -e info@example.com -g [options]
~~~

Note: You don't need to re-use the `-k` to update Keycloak if already installed, using `-g` updates both of Greenlight and Keycloak as the latter is considered as a dependency to the project.
Expand Down Expand Up @@ -367,7 +366,7 @@ The Broker is a Web Application that acts as a LTI Broker for connecting Tool Co
To install the LTI framework you can simply use the `bbb-install.sh` command `-t` option while providing a `KEY:SECRET` which you'll use when deploying the BigBlueButton LTI applications to your platform, for more details about the integration of a tool to your platform please refer to the official documentation of your solution:

~~~
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -v jammy-400 -s bbb.example.com -e info@example.com -w -t MY_KEY:MY_SECRET [options]
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -v noble-400 -s bbb.example.com -e info@example.com -w -t MY_KEY:MY_SECRET [options]
~~~

> [options] is a placeholder for one or more [options](#command-options) that you may use.
Expand All @@ -380,7 +379,7 @@ You can manage your LTI credentials through the `bbb-install.sh` command using t
- To change the secret of a LTI credential re-run the same with the `-t` option while also using the same **KEY** but a new **SECRET**:

~~~
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -v jammy-400 -s bbb.example.com -e info@example.com -w -t MY_KEY:MY_NEW_SECRET [options]
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -v noble-400 -s bbb.example.com -e info@example.com -w -t MY_KEY:MY_NEW_SECRET [options]
~~~

> [options] is a placeholder for one or more [options](#command-options) that you may use.
Expand All @@ -391,7 +390,7 @@ This overwrites the old secret, so expect a discontinuity in your integration of
- To add new credentials, re-run the same `bbb-install.sh` command with the `-t` option while also providing new pair of **KEY** and **SECRET**:

~~~
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -v jammy-400 -s bbb.example.com -e info@example.com -w -t MY_NEW_KEY:MY_NEW_SECRET [options]
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -v noble-400 -s bbb.example.com -e info@example.com -w -t MY_NEW_KEY:MY_NEW_SECRET [options]
~~~

> [options] is a placeholder for one or more [options](#command-options) that you may use.
Expand All @@ -411,7 +410,7 @@ Note: on your system `bbb.example.com` will be substituted with your FQDN.
Updating the LTI framework is done simply through re-running the `bbb-install.sh` anytime while using the `-t` option and providing credentials:

~~~
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -v jammy-400 -s bbb.example.com -e info@example.com -w -t KEY:SECRET [options]
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -v noble-400 -s bbb.example.com -e info@example.com -w -t KEY:SECRET [options]
~~~

> [options] is a placeholder for one or more [options](#command-options) that you may use.
Expand All @@ -428,7 +427,7 @@ You can become a contributor also!
The install script allows you to pass a path which will be used to create a symbolic link with `/var/bigbluebutton`:

~~~
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -s bbb.example.com -e info@example.com -v jammy-400 -w -m /mnt/test [options]
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -s bbb.example.com -e info@example.com -v noble-400 -w -m /mnt/test [options]
~~~

> [options] is a placeholder for one or more [options](#command-options) that you may use.
Expand All @@ -440,7 +439,7 @@ This allows users to store the contents of /`var/bigbluebutton`, which can get q
If you want to set up BigBlueButton with a TLS/SSL certificate, [GreenLight](#install-greenlight), [Keycloak](https://docs.bigbluebutton.org/greenlight/v3/external-authentication#installing-keycloak) and [BigBlueButton LTI](#install-bigbluebutton-lti-framework) with LTI credentials `MY_KEY:MY_SECRET` , you can do this all with a single command:

~~~
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -v jammy-400 -s bbb.example.com -e info@example.com -w -g -k -t MY_KEY:MY_SECRET
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -v noble-400 -s bbb.example.com -e info@example.com -w -g -k -t MY_KEY:MY_SECRET
~~~

Note: You'd need to substitute your FQDN, email address and LTI credentials.
Expand All @@ -455,7 +454,7 @@ Furthermore, you can re-run the same `bbb-install.sh` command used for installat
So to update the system in [Doing everything with a single command](#doing-everything-with-a-single-command) example you'd re-run the same command with the same options:

~~~
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -v jammy-400 -s bbb.example.com -e info@example.com -w -g -k -t MY_KEY:MY_SECRET
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -v noble-400 -s bbb.example.com -e info@example.com -w -g -k -t MY_KEY:MY_SECRET
~~~

- `-g` will update Greenlight **and Keycloak** to the latest stable version.
Expand Down Expand Up @@ -505,7 +504,7 @@ wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-rel

will do the following

* Install the latest version of coturn available for Ubuntu 22.04
* Install the latest version of coturn available for Ubuntu 24.04
* Provide a minimal configuration for `/etc/turnserver.conf`
* Add a systemd override to ensure coturn can bind to port 443
* Configure logging to `/var/log/turnserver/turnserver.log`
Expand All @@ -518,7 +517,7 @@ With a SSL certificate in place, coturn can relay access to your BigBlueButton s
After the TURN server is setup, you can configure your BigBlueButton server to use the TURN server by running the `bbb-install.sh` command again and add the parameter `-c <FQDN>:<SECRET>` (this tells `bbb-install.sh` to set up the configuration for the TURN server running at <FQDN> using the share secret <SECRET>. For example,

~~~
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -v jammy-400 -s bbb.example.com -e info@example.com -c turn.example.com:1234abcd
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v4.0.x-release/bbb-install.sh | bash -s -- -v noble-400 -s bbb.example.com -e info@example.com -c turn.example.com:1234abcd
~~~

You can re-use a single TURN server for multiple BigBlueButton installations.
Expand Down
Loading
Loading