ダウンロード後、安定版として提供しているmainブランチ(バージョン3.0.4)へチェックアウト
$ git clone https://github.com/bigbluebutton/docker.git bbb-docker
$ cd bbb-docker
$ git checkout main
以下のスクリプトを実行すると.envとdocker-compose.ymlファイルが作成されます。LetsencryptによるTLS認証は自身で設定するため"n"を選択。
$ ./scripts/setup
Should greenlight be included? (y/n): y
Should an automatic HTTPS Proxy be included? (y/n): n
Please enter the domain name: bbb.ficusonline.com
Should the recording feature be included?
IMPORTANT: this is currently a big privacy issues, because it will
record everything which happens in the conference, even when the button
suggests, that it does not.
make sure that you always get people's consent, before they join a room!
https://github.com/bigbluebutton/bigbluebutton/issues/9202
Choice (y/n): y
Should a Prometheus exporter be included? (y/n): n
Should old recordings be removed? (y/n): y
Please enter max age(days) for keeping recordings: 3
Is xx.xx.xx.xx your external IPv4 address? (y/n): y
Is xx:xx:xx:xx:xx:xx:xx:xx your external IPv6 address? (y/n): y
.envを確認・編集後、以下のスクリプトを実行し、docker-compose.ymlに反映させます。
$ ./scripts/generate-compose
ファイヤーウォール設定(ポート設定)
- TCP/IP ports 80/443 (for HTTP/HTTPS)
- UDP ports in the range 16384 - 32768 (for FreeSWITCH/HTML5 RTP streams)
コンテナNginxのネットワークをhostからdocker networkへ変更し、リバースプロキシにも対応。
docker-compose.yml
nginx:
build:
context: mod/nginx
additional_contexts:
- src-learning-dashboard=./repos/bigbluebutton/bbb-learning-dashboard
- src-playback=./repos/bbb-playback
- src-html5=./repos/bigbluebutton/bigbluebutton-html5
args:
BBB_BUILD_TAG: v3.0.x-release--2025-02-06-143818
TAG_BBB: v3.0.4
image: alangecker/bbb-docker-nginx:v3.0.4-v5.3.1-1.25
restart: unless-stopped
ports:
- '9443:443'
volumes:
- ./data/bigbluebutton:/var/bigbluebutton
- ${DEFAULT_PRESENTATION:-/dev/null}:/www/default.pdf
- ./mod/nginx/bigbluebutton/:/etc/nginx/conf.d/default.conf
- ./mod/nginx/nginx.conf:/etc/nginx/nginx.conf
# in advance, execute certbot on docker to get ssl certification.
# "$ sudo docker run -it --rm --name certbot -v "$PWD/letsencrypt:/etc/letsencrypt" -p 80:80 certbot/certbot certonly --standalone -d www.example.com"
# added 4096-bit diffie-hellman parameters. see https://docs.bigbluebutton.org/2.2/install.html#configure-freeswitch-for-using-ssl
# need /etc/letsencrypt/dhp-4096.pem: "$ openssl dhparam -out letsencrypt/dhp-4096.pem 4096"
# For FreeSwith Web Socket, need to implement the following files.
# $ sudo cat cert.pem privkey.pem fullchain.pem > wss.pem
# add symbolic links
# "$ sudo ln -s wss.pem agent.pem"
# "$ sudo ln -s wss.pem tls.pem"
# "$ sudo ln -s wss.pem dtls-srtp.pem"
- ./letsencrypt:/etc/letsencrypt
# added for reverse-proxy config template file; see https://hub.docker.com/_/nginx
# *.conf.template changed into /etc/nginx/conf.d/*.conf after variables transferred.
- ./nginx_config_temp:/etc/nginx/templates
tmpfs:
- /tmp
# network_mode: host
networks:
bbb-net:
ipv4_address: 10.7.7.3
ipv6_address: fd6c:dfc7:8a45:2::3
extra_hosts:
- "host.docker.internal:10.7.7.1"
- "bbb-web:10.7.7.2"
- "etherpad:10.7.7.4"
- "webrtc-sfu:10.7.7.1"
- "greenlight:10.7.7.21"
- "bbb-graphql-server:10.7.7.31"
- "bbb-graphql-middleware:10.7.7.32"