====== BigBlueButton ======
====== Версія 2.6 ======
Чи не найсуттєвішою відмінністю версії 2.6 є [[https://docs.bigbluebutton.org/new-features/#bbb-install-26sh-installs-a-local-turn-server-and-shares-port-443-by-default | встановлення TURN-сервера за замовчуванням]] на тому ж комп'ютері, що й BigBlueButton. Це звільняє від необхідності використання додаткових сторонніх серверів для забезпечення підключення клієнтам з [[#turn-сервер|використанням TURN]]. Це досягається автоматичним встановленням та налаштуванням програми [[https://www.haproxy.org/ | HAProxy]] на стандартному порті 443 (HTTPS), яка вміє відрізняти та перерозподіляти різні типи запитів до відповідних програм, зокрема, до TURN-сервера чи веб-сервера.
===== Оновлення з попередніх версій =====
==== З версії 2.5 ====
Оновлення з версії 2.5 відбувається повністю автоматично((https://docs.bigbluebutton.org/administration/install/#upgrading-from-bigbluebutton-25)) за допомогою скрипту [[https://github.com/bigbluebutton/bbb-install/blob/master/bbb-install-2.6.sh | ''bbb-install-2.6.sh'']].
Приклад команди для оновлення сервера BigBlueButton:
sudo GL_PATH='/gl' ./bbb-install-2.6.sh -v focal-260 -s bbb.myserver.org -e email@domain.com -g
Тут ''bbb.myserver.org'' -- це доменне ім'я, прив'язане до нашого сервера, а ''email@domain.com'' -- це адреса електронної пошти, що використовується для реєстрації SSL-сертифіката для цього домену. Сертифікат отримується автоматично від [[ssl#let_s_encrypt|Let's Encrypt]] під час встановлення.
Змінна ''GL_PATH='/gl''' тут вказує на те, що сторінка Greenlight буде розташована в нашому випадку за адресою ''bbb.myserver.org/gl''. Якщо ми хочемо, щоб веб-сервер за замовчуванням переспрямовував користувачів з адреси ''bbb.myserver.org'' на адресу ''bbb.myserver.org/gl'', потрібно після оновлення BigBlueButton знайти файл ''/usr/share/bigbluebutton/nginx/greenlight-redirect.nginx.disabled'', перейменувати його на ''/usr/share/bigbluebutton/nginx/greenlight-redirect.nginx'' (тобто прибрати слово ".disabled" на кінці) та відредагувати його вміст таким чином:
location = / {
return 307 /gl;
}
**Примітка:** У файлі ''/usr/share/bigbluebutton/nginx/greenlight-redirect.nginx.disabled'' за замовчуванням може бути записано переспрямування на шлях "''/b''". Але якщо цей шлях на нашому сервері досі використовувався попередньою (другою) версією Greenlight, то на даному етапі нам не можна вказувати його для третьої версії, бо доступ до обох версій //одночасно// нам ще знадобиться для перенесення облікових записів з Greenlight v2 до Greenlight v3.
Якщо скрипт ''bbb-install-2.6.sh'' вдало завершив свою роботу, в нас має бути запущена нова версія BigBlueButton. Далі треба налаштувати Greenlight v3 та перенести до неї усю інформацію з попередньої версії.
==== З версії 2.4 ====
Якщо ми проводимо оновлення з версії BigBluButton 2.4 або старішої, яка працює на Ubuntu 18.04, то офіційна документація радить((https://docs.bigbluebutton.org/administration/install/#upgrading-from-bigbluebutton-24)) видалити BigBlueButton, оновити операційну систему до версії Ubuntu 20.04, а вже потім встановити BigBlueButton 2.6 з нуля.
Видалити BigBlueButton та всі супутні пакети, а також різні сліди їхнього перебування в системі -- не дуже очевидна річ. Тому можна скористатися неофіційним [[https://github.com/bigbluebutton/bbb-install/issues/1#issuecomment-1347008149 | скриптом]], запропонованим на форумі BigBlueButton, або окремими частинами цього скрипту в залежності від потреби. Зокрема, варто звернути увагу на команди, пов'язані із видаленням файлів. Якщо, наприклад, нам потрібно перенести записи сеансів до нової системи, то потрібно їх або скопіювати десь окремо, або не видаляти теки, в яких вони лежать.
#!/bin/bash
# stop bbb
bbb-conf --stop
# docker cleanup
docker ps -q -all | xargs docker stop
docker ps -q -all | xargs docker rm
docker rmi --force $(docker images -a -q)
docker system prune
service docker stop
rm -rf /var/lib/docker/*
apt purge docker-ce docker-ce-cli containerd.io -y
# delete bbb dependencies
dpkg -l | grep -w bbb | awk '{print $2}' | xargs apt-get purge -y
dpkg -l | grep -w mongodb | awk '{print $2}' | xargs apt-get purge -y
dpkg -l | grep -w kurento | awk '{print $2}' | xargs apt-get purge -y
apt-get purge openjdk* openjdk-*-jre kms-* -y
apt-get autoremove -y
apt-get clean
# delete ruby, gems
apt-get purge ruby rubygems -y
rm /var/lib/gems/2.* -rf
# delete nginx
update-rc.d nginx remove
apt purge nginx nginx-common -y
# delete redis
apt purge redis-server -y
rm -rf /var/lib/redis
rm -rf /var/log/redis
cd /etc/apt/sources.list.d/
ls | grep bigbluebutton | xargs rm
ls | grep mongodb | xargs rm
ls | grep node | xargs rm
ls | grep rmescandon | xargs rm
ls | grep libreoffice | xargs rm
cd /etc/apt/trusted.gpg.d/
ls | grep bigbluebutton | xargs rm
ls | grep rmescandon | xargs rm
ls | grep libreoffice | xargs rm
# deactivate docker in /etc/apt/sources.list
sed -i 's/^deb \[arch\=amd64\] https\:\/\/download\.docker\.com\/linux\/ubuntu bionic stable$/\#deb \[arch\=amd64\] https\:\/\/download\.docker\.com\/linux\/ubuntu bionic stable/g' /etc/apt/sources.list
cd /var/lib/apt/lists/ && ls | grep bigbluebutton | xargs rm
cd /var/lib/apt/lists/ && ls | grep libreoffice | xargs rm
cd /var/lib/apt/lists/ && ls | grep certbot | xargs rm
cd /var/lib/apt/lists/ && ls | grep mongodb | xargs rm
cd /var/lib/apt/lists/ && ls | grep docker | xargs rm
apt-key del $(apt-key list | awk 'NR=='`expr $(apt-key list | grep --line-number --regexp "BigBlueButton" | cut --fields 1 --delimiter ":") - 1`'{print;exit}' | sed -e 's/ //g')
apt-key del $(apt-key list | awk 'NR=='`expr $(apt-key list | grep --line-number --regexp "Kurento" | cut --fields 1 --delimiter ":") - 1`'{print;exit}' | sed -e 's/ //g')
apt-key del $(apt-key list | awk 'NR=='`expr $(apt-key list | grep --line-number --regexp "MongoDB" | cut --fields 1 --delimiter ":") - 1`'{print;exit}' | sed -e 's/ //g')
apt-key del $(apt-key list | awk 'NR=='`expr $(apt-key list | grep --line-number --regexp "Docker" | cut --fields 1 --delimiter ":") - 1`'{print;exit}' | sed -e 's/ //g')
# delete leftovers like logs and other files
#
# MAKE THE BACKUP OF RECORDINGS FIRST !!! (IF NECESSARY)
#
# rm -rf /var/bigbluebutton /opt/freeswitch /usr/share/etherpad-lite /usr/local/bigbluebutton /etc/bigbluebutton /usr/share/meteor /usr/share/bbb-libreoffice-conversion /usr/share/bbb-web /etc/systemd/system/bbb-webrtc-sfu.service.d /var/tmp/bbb-kms-last-restart.txt /var/log/bigbluebutton /var/log/kurento-media-server /var/log/bbb-apps-akka /var/log/bbb-fsesl-akka /var/log/bbb-webrtc-sfu /var/lib/kurento /var/kurento /var/log/mongodb /etc/kurento /run/bbb-fsesl-akka ./run/bbb-apps-akka /etc/systemd/system/multi-user.target.wants/bbb-web.service /etc/systemd/system/multi-user.target.wants/bbb-rap-resque-worker.service /etc/systemd/system/multi-user.target.wants/bbb-rap-starter.service ~/.bundle/cache
# delete user related content
deluser bigbluebutton
# deluser redis
deluser mongodb
deluser kurento
# only this group needs to be removed, all other are deleted anyway!
delgroup mongodb
# update
apt-get autoremove -y
apt-get update
apt-get dist-upgrade -y
==== Greenlight v3 ====
=== Перенесення ролей ===
=== Перенесення користувачів ===
=== Перенесення кімнат ===
=== Перенесення налаштувань ===
=== Оновлення паролів ===
Після оновлення Greenlight потрібно оновити паролі усіх користувачів. Це мають зробити самі користувачі, запитавши скидання пароля на сторінці входу до Greenlight.
Але для того, щоб повідомити усім користувачам про необхідність скидання пароля, в комплекті є також готовий скрипт для розсилання усім користувачам нашого сервера повідомлення із запрошенням змінити пароль.
Але перш ніж ним скористатися, варто взяти до уваги, що деякі поштові сервери блокують масові розсилання повідомлень. Наприклад, якщо листи надсилаються занадто швидко. Я стикнувся із такою проблемою, тому перші кілька повідомлень завжди надсилалися нормально, але наступні усі блокувалися. Тому для себе я знайшов таке рішення: я додав до скрипту невелику паузу між надсиланням листів. Зробити це можна так:
Відкрити файл скрипту ''lib/tasks/reset_password_email.rake'' для редагування прямо в контейнері:
sudo docker exec -it greenlight-v3 vi lib/tasks/reset_password_email.rake
знайти в ньому наступні рядки:
success 'Successfully sent reset password email to:'
info " name: #{user.name}"
info " email: #{user.email}"
rescue StandardError => e
err "Unable to send reset password email to:\n name: #{user.name} \n email: #{user.email} \n error: #{e}"
end
end
та додати туди функцію ''sleep(5)'' (пауза у 5 секунд) ось у цьому місці (важливо дотримуватися відступів ліворуч!):
success 'Successfully sent reset password email to:'
info " name: #{user.name}"
info " email: #{user.email}"
sleep(5)
rescue StandardError => e
err "Unable to send reset password email to:\n name: #{user.name} \n email: #{user.email} \n error: #{e}"
end
end
зберегти цей файл, закрити, а тоді вже запустити скрипт:
sudo docker exec -it greenlight-v3 bundle exec rake migration:reset_password_email\[https://bbb.myserver.org/gl]
=== Перенесення записів ===
sudo docker exec -it greenlight-v3 bundle exec rake server_recordings_sync
===== Проблема з Firefox =====
Якщо браузер Firefox не приймає та не передає зображення веб-камери або демонстрацію екрану, можливо, потрібно додати наступні рядки до файлу "''/etc/bigbluebutton/bbb-html5.yml''":
public:
media:
forceRelayOnFirefox: false
Таке рішення підказано [[https://github.com/bigbluebutton/bigbluebutton/issues/16614#issuecomment-1536586460 | відповіддю на форумі]], хоча і суперечить [[https://docs.bigbluebutton.org/support/troubleshooting/#im-having-troubles-seeing-webcams-or-screen-sharing-in-firefox | офіційній документації]] на момент написання цієї статті.
Можливо, це пов'язано із відомою [[https://bugzilla.mozilla.org/show_bug.cgi?id=1034964 | вадою Firefox]]. Додаткову інформацію можна також прочитати у відповідних гілках форумів [[https://github.com/bigbluebutton/bigbluebutton/issues/13746 | BigBlueButton]] та [[https://github.com/versatica/mediasoup/issues/650 | mediasoup]].
====== Встановлення ======
===== 1. Переадресування портів =====
Уявімо, що наш BBB-сервер встановлений в локальній мережі, відокремленій від Інтернету маршрутизатором. Нехай в нашого сервера локальна адреса ''192.168.1.100''. Тоді на маршрутизаторі потрібно налаштувати перенаправлення наступних портів:
TCP 80 - HTTP
TCP 443 - HTTPS
TCP 7443 - FreeSWITCH
TCP 1935 - Redis
та діапазон портів:
UDP 16384-32768 - WebRTC
===== 2. Встановлення необхідних програм =====
Додати розділ ''multiverse'' до списку репозиторії Ubuntu у файлі ''/etc/apt/sources.list''. Наприклад,
deb http://archive.ubuntu.com/ubuntu xenial multiverse
Підключити додаткові джерела програм та оновити систему:
sudo add-apt-repository ppa:bigbluebutton/support -y
sudo add-apt-repository ppa:rmescandon/yq -y
sudo apt-get update
sudo apt-get dist-upgrade
Встановити **MongoDB**:
wget -qO - https://www.mongodb.org/static/pgp/server-3.4.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
sudo apt-get update
sudo apt-get install -y mongodb-org curl
Встановити **nodejs**:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
===== 3. Встановлення BBB =====
Встановити ключ репозиторія BigBlueButton:
wget https://ubuntu.bigbluebutton.org/repo/bigbluebutton.asc -O- | sudo apt-key add -
Встановити основний сервер **BigBlueButton** та **HTML5** клієнт:
echo "deb https://ubuntu.bigbluebutton.org/xenial-22/ bigbluebutton-xenial main" | sudo tee /etc/apt/sources.list.d/bigbluebutton.list
sudo apt-get update
sudo apt-get install bigbluebutton
sudo apt-get install bbb-html5
sudo apt-get dist-upgrade
===== 4. Перший запуск =====
Після встановлення BBB-сервера та HTML5 клієнта потрібно перезапустити сервер:
sudo bbb-conf --restart
Тоді можна перевірити його стан:
sudo bbb-conf --status
nginx —————————————————► [✔ - active]
freeswitch ————————————► [✔ - active]
redis-server ——————————► [✔ - active]
bbb-apps-akka —————————► [✔ - active]
bbb-transcode-akka ————► [✔ - active]
bbb-fsesl-akka ————————► [✔ - active]
red5 ——————————————————► [✔ - active]
mongod ————————————————► [✔ - active]
bbb-html5 —————————————► [✔ - active]
bbb-webrtc-sfu ————————► [✔ - active]
kurento-media-server ——► [✔ - active]
etherpad ——————————————► [✔ - active]
bbb-web ———————————————► [✔ - active]
або
sudo bbb-conf --check
Якщо все запустилося та працює, можна відкрити в браузері:
http://192.168.1.100/
Повинна з'явитися приблизно така сторінка:
{{:bbb-demopage.png?direct&200|}}
===== 5. Демо =====
Перевірити, чи сервер та HTML5 клієнт дійсно працюють, можна встановити демонстраційну сторінку:
sudo apt-get install bbb-demo
Це дозволить підключитися до сервера, вказавши деяке ім'я на сторінці входу (див. вище).
При цьому оскільки ми підключилися за HTTP-протоколом, сервер може не дозволити там користуватися мікрофоном або камерою. Зазвичай вони дозволені лише для HTTPS-протоколу. Його ми налаштуємо пізніше.
Якщо демо-версія працює, потрібно видалити цю сторінку, щоб інші анонімні користувачі не могли під'єднуватися до нашого сервера.
sudo apt-get remove bbb-demo
===== 6. SSL =====
Встановимо ім'я домену для нашого сервера. Наприклад, якщо ім'я ''bbb.myserver.org'' вже зареєстроване та вказує на IP-адресу нашого сервера (наприклад, 123.123.123.123),
ping bbb.myserver.org
PING bbb.myserver.org (123.123.123.123) 56(84) bytes of data.
64 bytes from 123.123.123.123: icmp_seq=1 ttl=44 time=27.5 ms
sudo bbb-conf --setip bbb.myserver.org
Далі нам необхідний буде дійсний [[ssl|SSL-сертифікат]]. Якщо його немає, його досить легко можна отримати за допомогою програми [[https://certbot.eff.org/lets-encrypt/ubuntuxenial-other | Certbot]].
==== Веб-сервер ====
Згенеруємо параметри Діфі-Хелмана. Це не відбудеться миттєво, а займе кілька хвилин.
sudo mkdir -p /etc/nginx/ssl
sudo openssl dhparam -out /etc/nginx/ssl/dhp-4096.pem 4096
Потрібно увімкнути у веб-сервері можливість роботи за протоколом HTTPS та вказати дійсний сертифікат та ще деякі параметри. Для цього відредагуємо файл ''/etc/nginx/sites-available/bigbluebutton'' наступним чином:
server {
server_name bbb.myserver.org;
listen 80;
listen [::]:80;
#--- Додати наступні рядки ---
listen 443 ssl;
listen [::]:443 ssl;
ssl_certificate /etc/ssl/certs/bbb.myserver.org.crt;
ssl_certificate_key /etc/ssl/private/bbb.myserver.org.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS:!AES256";
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/nginx/ssl/dhp-4096.pem;
#-----------------------------
Тут
* ''bbb.myserver.org'' -- ім'я домену, яке ми зареєстрували для нашого сервера.
* ''/etc/ssl/certs/bbb.myserver.org.crt'' -- шлях до файлу з SSL-сертифікатом сервера для нашого домену. Якщо сертифікат було отримано за допомогою certbot, то він зазвичай розміщується у файлі ''/etc/letsencrypt/live/bbb.myserver.org/fullchain.pem''. Його можна скопіювати до теки ''/etc/ssl/certs/''.
* ''/etc/ssl/private/bbb.myserver.org.key'' -- шлях до файлу з секретним ключем, що відповідає сертифікату. certbot зазвичай розміщує ключ у файлі ''/etc/letsencrypt/live/bbb.myserver.org/privkey.pem'', і його також можна скопіювати до теки ''/etc/ssl/certs/''.
==== FreeSWITCH ====
Відредагуємо файл ''/etc/bigbluebutton/nginx/sip.nginx'':
location /ws {
proxy_pass https://123.123.123.123:7443;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_read_timeout 6h;
proxy_send_timeout 6h;
client_body_timeout 6h;
send_timeout 6h;
}
Тут важливо звернути увагу на рядок ''proxy_pass https://123.123.123.123:7443;'', який містить, по-перше явну вказівку використовувати **протокол HTTPS**, по-друге, зовнішню **IP-адресу** нашого сервера (тобто адресу, яку має маршрутизатор у зовнішній мережі Інтернет, а також, на яку зареєстровано домен ''bbb.myserver.org''), а також **порт 7443**.
==== HTTPS у BBB ====
Потрібно відредагувати наступні файли, вказавши в них протокол HTTPS у відповідних рядках конфігурації:
#----------------------------------------------------
# This URL is where the BBB client is accessible. When a user successfully
# enters a name and password, she is redirected here to load the client.
bigbluebutton.web.serverURL=https://bigbluebutton.example.com
streamBaseUrl=rtmp://bigbluebutton.example.com/screenshare
jnlpUrl=https://bigbluebutton.example.com/screenshare
jnlpFile=https://bigbluebutton.example.com/screenshare/screenshare.jnlp
note:
enabled: true
url: https://bbb.example.com/pad
playback_protocol: https
Далі у файлі ''/var/www/bigbluebutton/client/conf/config.xml'' вказати, що BBB має завантажувати компоненти за протоколом HTTPS. Це можна зробити однією командою:
sudo sed -e 's|http://|https://|g' -i /var/www/bigbluebutton/client/conf/config.xml
Далі змінити ''ws'' на ''wss'' у файлі
kurento:
wsUrl: wss://bbb.example.com/bbb-webrtc-sfu
І перезапустити сервер
sudo bbb-conf --restart
===== 7. NAT =====
==== Kurento ====
externalAddress=123.123.123.123
==== FreeSWITCH ====
=== Віртуальний мережевий інтерфейс ===
Для того, щоб FreeSWITCH видавав клієнтам зовнішню IP-адресу, потрібно, щоб під час запуску він приєднався до мережевого інтерфейсу з цією адресою. Оскільки реального мережевого інтерфейсу із зовнішньою адресою всередині нашої локальної мережі нема. створимо віртуальний мережевий інтерфейс з такою адресою:
sudo ip addr add 123.123.123.123/32 dev lo
та перевіримо, чи він створився:
ip addr
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet 123.123.123.123/32 scope global lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
А для того, щоб не створювати цей віртуальний інтерфейс кожного разу вручну, можна його параметри внести до файлу конфігурації мережі:
# The loopback network interface
auto lo
iface lo inet loopback
post-up ip addr add 123.123.123.123/32 dev lo
pre-down ip addr del 123.123.123.123/32 dev lo
Далі також потрібно вказати зовнішню адресу у файлі
==== Red5 ====
Перевірити, чи вказано **локальну** IP-адресу у наступному файлі:
bbb.sip.app.ip=192.168.1.100
bbb.sip.app.port=5070
freeswitch.ip=192.168.1.100
freeswitch.port=5060
==== Веб-сервер ====
location /ws {
proxy_pass https://123.123.123.123:7443;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_read_timeout 6h;
proxy_send_timeout 6h;
client_body_timeout 6h;
send_timeout 6h;
}
==== BBB ====
Якщо дозволено приєднання користувачів тільки для слухання (це можна перевірити наступним чином:)
grep enableListenOnly /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml
enableListenOnly: true
то необхідно також внести наступні зміни до файлу
freeswitch:
ip: 123.123.123.123
sip_ip: 192.168.1.100
port: 7443
Коли всі файли конфігурації відредаговано, перезапустити BBB-сервер:
bbb-conf --restart
====== Додаткові можливості ======
===== Greenlight =====
http://docs.bigbluebutton.org/greenlight/gl-overview.html
v3 : https://docs.bigbluebutton.org/greenlight/v3/install/
==== Логи Greenlight ====
Продивитися логи (журнал роботи) Greenlight можна засобами Docker:
Простий показ журналу:
sudo docker logs greenlight-v3
Показ з часовими мітками:
sudo docker logs -t greenlight-v3
Відстежування журналу по мірі його доповнення:
sudo docker logs -f greenlight-v3
Відстежування, починаючи з останніх 50-ти рядків, з часовими мітками:
sudo docker logs -t -n50 -f greenlight-v3
==== Запуск/зупинка Greenlight ====
Якщо файли Greenlight встановлено у теку ''/root/greenlight-v3/'', то для зупинки або запуску потрібно перейти до цієї теки:
cd /root/greenlight-v3/
Зупинити:
docker-compose down
Запустити:
docker-compose up -d
FIXME
===== TURN-сервер =====
[[turn|TURN/STUN сервер]]
http://docs.bigbluebutton.org/2.2/setup-turn-server.html#configure-bigbluebutton-to-use-the-coturn-server
FIXME
===== Заборона перекодування відеозаписів при роботі від батареї =====
Якщо BigBlueButton встановлено на ноутбуку, задля економії заряду батареї бажано тимчасово вимкнути оброблення черги відеозаписів, адже перекодування відео потребує багатьох ресурсів, і може швидко витратити заряд батареї. Для того, щоб автоматично зупиняти чергу відеозаписів після відключення живлення від мережі та поновлювати її після підключення до мережі створимо новий файл із правилами для [[https://en.wikipedia.org/wiki/Udev|udev]]:
SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="0", RUN+="/bin/systemctl stop bbb-rap-starter.service"
SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="1", RUN+="/bin/systemctl start bbb-rap-starter.service"
після чого перезапустимо udev:
sudo systemctl restart udev.service
===== Запис сеансів до відеофайлу =====
Спочатку потрібно встановити додатковий пакет((https://docs.bigbluebutton.org/administration/customize/#install-additional-recording-processing-formats)):
sudo apt install bbb-playback-video
Потім потрібно додати відповідний формат до файлу:
steps:
archive: "sanity"
sanity: "captions"
captions:
- "process:presentation"
- "process:video"
"process:presentation": "publish:presentation"
"process:video": "publish:video"
Але цей файл буде перезаписаний під час оновлення або перевстановлення BigBlueButton. Тому можна зберегти ці налаштування також в окремому файлі: ''/etc/bigbluebutton/recording/recording.yml''
Після зміни файлу потрібно перезапустити службу:
systemctl restart bbb-rap-resque-worker.service