Skip to content
This repository was archived by the owner on Jun 7, 2023. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
b0a0d3a
Update for bigbluebutton 1.1
juanluisbaptiste Apr 30, 2018
e8ec2ea
Improve task descriptions.
juanluisbaptiste May 2, 2018
e351ad8
Add configuration variables to optionally install bbb-demo and bbb-ch…
juanluisbaptiste May 2, 2018
45d1b17
Improve task descriptions.
juanluisbaptiste May 2, 2018
ae0f5c1
Run bbb-conf --check at the end of configuration and print output.
juanluisbaptiste May 2, 2018
4dea467
Get public and local IP addresses.
juanluisbaptiste May 2, 2018
798046c
Add NAT configuration tasks.
juanluisbaptiste May 2, 2018
e753e69
Add SSL configuration using Letsencrypt certificates.
juanluisbaptiste May 2, 2018
3da7bc2
Updated README file with new features.
juanluisbaptiste May 2, 2018
0b9a17c
Unused files.
juanluisbaptiste May 2, 2018
97890f5
Unused files.
juanluisbaptiste May 2, 2018
203fb05
Do not use a default value for bbb_server_name and instead assert its…
juanluisbaptiste May 2, 2018
a4d9078
Assert bbb_ssl_email if bbb_ssl_configure_ssl is defined at the playb…
juanluisbaptiste May 2, 2018
ffbb167
Fix typo.
juanluisbaptiste May 2, 2018
9419d22
Cleanup meta/main.yml
juanluisbaptiste May 2, 2018
b42414c
Added missing nginx ssl config template.
juanluisbaptiste May 2, 2018
468a828
Not needed to link certs as the config template points to the certs i…
juanluisbaptiste May 2, 2018
08207a5
From old fork and not needed.
juanluisbaptiste May 2, 2018
2f20b2a
Remove scape backslash as it was breaking the demo jsp.
juanluisbaptiste May 2, 2018
6c5865b
Use set_fact instead of register module for variables.
juanluisbaptiste May 2, 2018
81f7141
Use set_fact instead of register module for variables.
juanluisbaptiste May 3, 2018
2fecfce
Add a colon to regex to avoid breaking screensharing.
juanluisbaptiste May 3, 2018
aa486b3
Also update BwMon IP address on /var/www/bigbluebutton/client/conf/co…
juanluisbaptiste May 3, 2018
ead60d3
Some cleanup.
juanluisbaptiste May 3, 2018
bfd9a07
Create a dummy nic for Freeswitch when NAT is enabled.
juanluisbaptiste May 3, 2018
84518ca
Updated bbb repo for version 2.2
juanluisbaptiste Mar 29, 2020
4778223
Updated README with latest version supported.
juanluisbaptiste Mar 29, 2020
1766cb1
Add supplemental ppa repos
dkobras May 4, 2020
b864ea5
Update path to bbb properties
dkobras May 4, 2020
68ad048
Fix HTTPS connections via IPv6
dkobras May 4, 2020
630ed41
Add HTML5 client and deps by default
dkobras May 4, 2020
30f8aae
Install optional playback packages
dkobras May 4, 2020
0b09fda
Merge pull request #1 from dkobras/master
juanluisbaptiste May 4, 2020
cc1a22d
Document new Ansible variables
dkobras May 5, 2020
6b0fc9b
Remove obsolete comment in README file
dkobras May 5, 2020
f7b09eb
Avoid nested underscores in Markdown
dkobras May 5, 2020
077223d
Fix typo in README file
dkobras May 5, 2020
f1de822
Merge pull request #2 from dkobras/master
juanluisbaptiste May 5, 2020
08d0cfb
Updated bbb version to 2.3
juanluisbaptiste Jun 24, 2021
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
25 changes: 0 additions & 25 deletions .travis.yml

This file was deleted.

5 changes: 0 additions & 5 deletions Makefile

This file was deleted.

61 changes: 48 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,54 @@
[![Build Status](https://travis-ci.org/softwaremill/ansible-bigbluebutton.svg?branch=master)](https://travis-ci.org/softwaremill/ansible-bigbluebutton)
# Ansible BigBlueButton Installation Role

Bigbluebutton
=============
Ansible role to install [_BigBlueButton_](https://www.bigbluebutton.org) web conferencing platform with SSL support out of the box using [_LetsEncrypt_](https://letsencrypt.org/).

Ansible role for a simple bigbluebutton installation (following the documentation on http://docs.bigbluebutton.org/install/install.html)
The role follows _BigBlueButton_ official [installation instructions](http://docs.bigbluebutton.org/install/install.html).

Testing locally
===============
Launch vagrant vm machine with:
`vagrant up`
Then run the tests with:
`vagrant ssh -c 'cd /ansible/roles/ansible-bigbluebutton && . tests/test.sh'`
Forked from [softwaremill/ansible-bigbluebutton](https://github.com/softwaremill/ansible-bigbluebutton), as it seems abandoned. Itr has the following additional features:

License
-------
## Features
* Installs latest stable version (currently _2.3_).
* Installation behind a firewall (NAT setup support)
* Automatic SSL configuration using _LetsEncrypt_ certificates using [thefinn93/ansible-letsencrypt](https://github.com/thefinn93/ansible-letsencrypt) role.
* Optionally installs the demo and check packages.

BSD
## Supported Platforms
As this role follows the official installation instructions, the supported OS version is the one specified there: Ubuntu (16.04 for the current bbb version).

Requires Ansible >= 2.4.0

## Usage

To get up _BigBlueButton_ up and running the following variables can be configured:

* `bbb_server_name`: Set the FQDN hostname that points to the server where _BigBlueButton_ is going to be installed. This is the only mandatory value, the playbook will fail if this variable is not defined.
* `bbb_configure_nat`: Configure NAT support for servers behind a firewall (Default: `False`).
* `bbb_configure_ssl`: Configure SSL support using _LetsEncrypt_ certificates (Default: `False`).
* `bbb_ssl_email`: Set _LetsEncrypt_ authorization email address.
* `bbb_install_html5`: Install the HTML5 client (Default: `True`).
* `bbb_install_demo`: Install the bbb-demo package, useful to easily test the new installation is working (Default: `False`).
* `bbb_install_check`: Install the bbb-check package, useful to debug the new installation if having issues (Default: `False`).
* `bbb_install_playback_notes`: Install the bbb-playback-notes package to play back shared notes from a recorded session (Default: `True`).
* `bbb_install_playback_podcast`: Install the bbb-playback-podcast package to play back audio from a recorded session (Default: `True`).
* `bbb_install_playback_screenshare`: Install the bbb-playback-screenshare package to play back shared screens from a recorded session (Default: `True`).

## Example Playbook

```
---
- hosts: bbb
remote_user: ansible
become: True
become_user: root
become_method: sudo
gather_facts: True
roles:
- role: ansible-bigbluebutton
bbb_server_name: bbb.example.com
bbb_configure_nat: True
bbb_install_demo: True
bbb_install_check: True
bbb_configure_ssl: True
bbb_ssl_email: foo@bar.com

```
27 changes: 0 additions & 27 deletions Vagrantfile

This file was deleted.

20 changes: 14 additions & 6 deletions defaults/main.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
---
bbb_apt_key: '328BD16D'

#Repositories
bbb_apt_repo_url: 'http://ubuntu.bigbluebutton.org/trusty-1-0/'
libreoffice_ppa: 'ppa:libreoffice/libreoffice-4-4'
ffmpeg_ppa: 'ppa:mc3man/trusty-media'
bbb_apt_repo_url: 'https://ubuntu.bigbluebutton.org/bionic-230/'
bbb_ubuntu_version: "18.04"
bbb_install_html5: True
bbb_install_playback_notes: True
bbb_install_playback_podcast: True
bbb_install_playback_screenshare: True
bbb_install_demo: False
bbb_install_check: False
bbb_configure_nat: False
bbb_configure_ssl: False
bbb_ssl_webroot_path: /var/www/bigbluebutton-default
bbb_ssl_renewal_command_args: '--renew-hook "systemctl restart nginx"'
## Uncoment the following line to test on test network.
# bbb_ssl_server: "https://acme-staging.api.letsencrypt.org/directory"
155 changes: 14 additions & 141 deletions meta/main.yml
Original file line number Diff line number Diff line change
@@ -1,148 +1,16 @@
galaxy_info:
author: Jan Rotter
author: Juan Luis Baptiste
description: Simple BigBlueButton installation (following the documentation on http://docs.bigbluebutton.org/install/install.html)
company: SoftwareMill Ltd.

# If the issue tracker for your role is not on github, uncomment the
# next line and provide a value
# issue_tracker_url: http://example.com/issue/tracker


license: MIT

min_ansible_version: 2.0

#
# Below are all platforms currently available. Just uncomment
# the ones that apply to your role. If you don't see your
# platform on this list, let us know and we'll get it added!
#
min_ansible_version: 2.4

platforms:
#- name: EL
# versions:
# - all
# - 5
# - 6
# - 7
#- name: GenericUNIX
# versions:
# - all
# - any
#- name: Solaris
# versions:
# - all
# - 10
# - 11.0
# - 11.1
# - 11.2
# - 11.3
#- name: Fedora
# versions:
# - all
# - 16
# - 17
# - 18
# - 19
# - 20
# - 21
# - 22
# - 23
#- name: opensuse
# versions:
# - all
# - 12.1
# - 12.2
# - 12.3
# - 13.1
# - 13.2
#- name: IOS
# versions:
# - all
# - any
#- name: SmartOS
# versions:
# - all
# - any
#- name: eos
# versions:
# - all
# - Any
#- name: Windows
# versions:
# - all
# - 2012R2
#- name: Amazon
# versions:
# - all
# - 2013.03
# - 2013.09
#- name: GenericBSD
# versions:
# - all
# - any
#- name: Junos
# versions:
# - all
# - any
#- name: FreeBSD
# versions:
# - all
# - 10.0
# - 10.1
# - 10.2
# - 8.0
# - 8.1
# - 8.2
# - 8.3
# - 8.4
# - 9.0
# - 9.1
# - 9.1
# - 9.2
# - 9.3
- name: Ubuntu
versions:
# - all
# - lucid
# - maverick
# - natty
# - oneiric
# - precise
# - quantal
# - raring
# - saucy
- trusty
# - utopic
# - vivid
# - wily
# - xenial
#- name: SLES
# versions:
# - all
# - 10SP3
# - 10SP4
# - 11
# - 11SP1
# - 11SP2
# - 11SP3
#- name: GenericLinux
# versions:
# - all
# - any
#- name: NXOS
# versions:
# - all
# - any
#- name: Debian
# versions:
# - all
# - etch
# - jessie
# - lenny
# - sid
# - squeeze
# - stretch
# - wheezy

- xenial

galaxy_tags: []
# List tags for your role here, one per line. A tag is
# a keyword that describes and categorizes the role.
Expand All @@ -153,6 +21,11 @@ galaxy_info:
# alphanumeric characters. Maximum 20 tags per role.

dependencies:
# List your role dependencies here, one per line.
# Be sure to remove the '[]' above if you add dependencies
# to this list.
- role: thefinn93.letsencrypt
vars:
letsencrypt_webroot_path: "{{ bbb_ssl_webroot_path }}"
letsencrypt_email: "{{ bbb_ssl_email }}"
letsencrypt_cert_domains:
- "{{ bbb_server_name }}"
bbb_ssl_renewal_command_args: '--renew-hook "systemctl restart nginx"'
when: bbb_configure_ssl == True
14 changes: 14 additions & 0 deletions tasks/letsencrypt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
- name: Create nginx SSL certificates directory
file:
state: directory
path: /etc/nginx/ssl
owner: root
group: root
tags:
- bbb_letsencript_ssl_dir

- name: Create dhparam SSL file
command: openssl dhparam -dsaparam -out /etc/nginx/ssl/dhp-4096.pem 4096 creates=/etc/nginx/ssl/dhp-4096.pem
tags:
- bbb_create_dhpem_file
Loading