Собственный сервис для Веб конференций за 5 минут
Веб и видео конференции стали неотъемлемой частью любого цифрового бизнеса. Есть много платных сервисов, которые предоставляют вполне качественный сервис за свою цену.
Но если вас по каким-то причинам они не устраивают, например, высокая стоимость с учетом количества ваших сотрудников, или сомнения в их безопасности, то есть хорошая альтернатива: опен-сорс платформа Jitsi.org
Например, для компании с 100 сотрудниками, стоимость сервиса Zoom составит около $2,000/месяц.
Стоимость облачной инфраструктуры для поддержки своего собственного сервиса на базе Jitsi может обойтись всего в $200-300/месяц.
Примечание: реальная стоимость будет зависеть от нагрузки — количество пользователей, одновременных конференций и т.д.
Все, что вам нужно — это запустить свой сервер с системой Jitsi. В своем видео я показываю, как это можно сделать в облаке Амазон за 5 минут.
С целью не удлинять видео, я ограничился базовой установкой системы Jitsi. Вы можете детальнее ознакомится с этой системой, документацией и рекомендациями по установке и настройке.
Ниже я приведу несколько дополнительных полезных ссылок.
Оригинальная статья, которую я взял за основу — на английском языке: https://www.chrisarmstrong.dev/posts/run-your-own-teleconferencing-server-with-jitsi-on-ec2
Github репозиторий с оригинальным шаблоном Cloudformation:
https://github.com/chris-armstrong/jitsi-meet-cfn
Мое дополнение к шаблону для создания DNS записи в Route 53:
DNSRecord:
Type: AWS::Route53::RecordSet
DependsOn:
- EIP
Properties:
HostedZoneName: !Ref DNSZone
Comment: DNS name for ec2 with Jitsi.
Name: !Ref DNSName
Type: A
TTL: '900'
ResourceRecords:
- !Ref EIP
Мой .sh. срипт для выполнения шаблона.
export STACK_NAME=TestVideo
export SSH_LOCATION='0.0.0.0/0'
export KEY_NAME=jitsi-ec2-key
export DNS_ZONE=practicaltech.io.
export DNS_NAME=video.practicaltech.io
export EC2_TYPE=t2.small
aws cloudformation deploy \
--stack-name $STACK_NAME \
--template-file ./jitsi.yml \
--parameter-overrides SSHLocation=$SSH_LOCATION\
KeyName=$KEY_NAME\
DNSZone=$DNS_ZONE\
DNSName=$DNS_NAME\
InstanceTypeParameter=$EC2_TYPE
Я также рекомендую потратить дополнительно 5 минут, чтобы настроить на вашем сервере режим авторизации по паролю: https://jitsi.github.io/handbook/docs/devops-guide/secure-domain
Чтобы сделанные изменения вступили в силу, я перезапустил компоненты Jitsi с помощью таких команд:
# Restart
sudo prosodyctl restart
sudo /etc/init.d/jicofo restart
sudo /etc/init.d/jitsi-videobridge2 restart
# Add user - use your domain
sudo prosodyctl adduser me@example.com