WeeBeeTalk
Solusi telekomunikasi hybrid yang berfokus pada privasi, dirancang untuk konferensi enterprise dengan mengintegrasikan stack teknologi open-source seperti Rocket.Chat, Jitsi, dan Asterisk.
1. Pendahuluan
WeeBeeTalk merupakan arsitektur telekomunikasi hybrid berorientasi privasi yang dirancang khusus untuk memenuhi kebutuhan konferensi enterprise melalui integrasi tumpukan teknologi sumber terbuka. Solusi ini dikembangkan oleh Risnanda Pascal & Gineng B. Pamungkas sebagai respons terhadap tantangan kontemporer dalam komunikasi bisnis modern, terutama menyangkut kerahasiaan data, interoperabilitas sistem, dan kontrol infrastruktur mandiri.
Dalam konteks lingkungan korporat yang semakin terdigitalisasi, kebutuhan akan platform konferensi yang mampu menjamin keamanan end-to-end tanpa mengorbankan fungsionalitas menjadi krusial. Arsitektur hybrid WeeBeeTalk memadukan teknologi berbasis IP (Rocket.Chat), komunikasi real-time berbasis WebRTC (Jitsi), dan teleponi tradisional (Asterisk) dalam satu ekosistem terintegrasi. Pendekatan ini memungkinkan organisasi untuk:
- Mempertahankan kedaulatan data melalui implementasi on-premise
- Mengurangi ketergantungan pada penyedia layanan cloud pihak ketiga
- Menerapkan kebijakan enkripsi dan otentikasi yang konsisten
- Menjaga interoperabilitas dengan infrastruktur telekomunikasi yang sudah ada
Inti arsitektur ini terletak pada integrasi strategis tiga komponen utama:
- Rocket.Chat sebagai platform kolaborasi berbasis pesan instan
- Jitsi Meet sebagai engine konferensi video WebRTC
- Asterisk sebagai gateway teleponi berbasis IP-PBX
Implementasi WeeBeeTalk mengadopsi paradigma “privacy by design” dengan menerapkan enkripsi end-to-end pada semua lapisan komunikasi (data-at-rest dan data-in-transit), Role-Based Access Control (RBAC), serta mekanisme autentikasi multi-faktor.
2. Lingkungan Sistem dan Prasyarat
WeeBeeTalk diimplementasikan pada lingkungan sistem operasi Debian GNU/Linux (versi stabil terkini) sebagai platform dasar, dipilih karena stabilitas jangka panjang (LTS), ekosistem paket yang komprehensif, dan kompatibilitas optimal dengan tumpukan teknologi open-source yang digunakan. Implementasi ini mengasumsikan lingkungan server Debian minimal dengan konfigurasi berikut:
2.1. Spesifikasi Sistem Minimum
- Sistem Operasi: Debian 12 (Bookworm) x86_64
- CPU: 4 core (arsitektur x64)
- RAM: 8 GB
- Storage: 50 GB (SSD direkomendasikan)
- Jaringan: Alamat IP publik statis/DNS yang terkonfigurasi
2.2. Prasyarat Khusus Debian
1
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
1
sudo apt install -y apt-transport-https ca-certificates gnupg2 curl software-properties-common
3. Konfigurasi Rocket.Chat via Docker
3.1 Mengambil Konfigurasi Docker Compose Rocket.Chat
Konfigurasi yang diperlukan untuk penerapan Rocket.Chat melalui Docker tersedia dalam repositori resmi rocketchat-compose.
- Kloning repositori resmi
rocketchat-composemenggunakan Git dengan perintah berikut:1
git clone --depth 1 https://github.com/RocketChat/rocketchat-compose.gitOpsi
--depth 1digunakan untuk hanya mengunduh riwayat commit terakhir, sehingga proses lebih cepat. - Masuk ke direktori yang telah dikloning:
1
cd rocketchat-composeDirektori ini berisi berkas
compose.yml,.env.example, serta berkas konfigurasi lain yang diperlukan untuk menyiapkan instansi Rocket.Chat. - Salin berkas
.env.exampleuntuk membuat berkas.env:1
cp .env.example .envBerkas
.envini digunakan untuk mendefinisikan konfigurasi penerapan, seperti versi Rocket.Chat, URL workspace, dan konfigurasi HTTPS opsional, tanpa perlu menyunting langsung berkascompose.yml.
3.2 Mengonfigurasi Rocket.Chat
Sebelum meluncurkan workspace Rocket.Chat, beberapa variabel kunci harus dikonfigurasi dalam berkas .env.
- Buka berkas
.envdengan editor teks pilihan Anda, misalnya:1
nano .env
- Atur variabel
RELEASEke versi Rocket.Chat yang diinginkan. Untuk lingkungan produksi, sangat disarankan untuk tidak menggunakanlatestdan menentukan versi tertentu (contoh:7.10.0) untuk memastikan stabilitas.1
RELEASE=7.10.0
Versi tersedia dapat dilihat di Rilis Rocket.Chat.
3.3 Menjalankan Rocket.Chat
Setelah berkas .env dikonfigurasi dan disimpan, siap untuk memulai workspace Rocket.Chat.
- Jalankan perintah berikut untuk mengunduh image Docker yang diperlukan dan memulai kontainer Rocket.Chat beserta layanan pendukungnya:
1
docker compose -f compose.database.yml -f compose.monitoring.yml -f compose.traefik.yml -f compose.yml up -d
- Periksa status semua kontainer yang berjalan dengan perintah:
1
docker ps
3.4 Penyesuaian Penerapan
Penerapan dapat disesuaikan dengan hanya menyertakan layanan yang diperlukan. Sebagai contoh, jika pemantauan atau reverse proxy Traefik tidak digunakan, berkas .yml terkait dapat dihilangkan dari perintah.
Contoh perintah tanpa pemantauan dan Traefik:
1
docker compose -f compose.database.yml -f compose.yml up -d
3.4 Mengakses Workspace Rocket.Chat
Setelah instance Rocket.Chat diterapkan, dapat diakses melalui browser.
- Untuk pengujian lokal: Buka
http://localhost:3000. - Untuk lingkungan produksi: Akses
ROOT_URLyang telah dikonfigurasi di berkas.env(contoh:https://nama-domain.com).
4. Integrasi dengan WebRTC (Jitsi)
4.1 Langkah-langkah Instalasi
4.1.1 Unduh dan Ekstrak Rilis Terbaru
Jangan clone repository git. Untuk versi stabil, gunakan rilis resmi.
1
wget $(wget -q -O - https://api.github.com/repos/jitsi/docker-jitsi-meet/releases/latest | grep zip | cut -d\" -f4)
Ekstrak paket yang telah diunduh:
1
unzip <nama-file>
4.1.2 Konfigurasi Environment
Salin file environment contoh dan sesuaikan sesuai kebutuhan:
1
cp env.example .env
Generate password yang kuat untuk bagian keamanan:
1
./gen-passwords.sh
4.1.3 Buat Direktori Konfigurasi
1
mkdir -p ~/.jitsi-meet-cfg/{web,transcripts,prosody/config,prosody/prosody-plugins-custom,jicofo,jvb,jigasi,jibri}
4.1.4 Menjalankan Jitsi Meet
1
docker compose up -d
4.1.5 Akses Antarmuka Web
Akses aplikasi melalui: https://localhost:8443
Catatan Penting:
- Port HTTPS default: 8443 (dapat diubah di file
.env) - HTTP tersedia pada port 8000 (default), namun hanya untuk setup reverse proxy
- Akses langsung via HTTP (bukan HTTPS) akan menyebabkan error WebRTC
4.2 Konfigurasi Tambahan
4.2.1 PUBLIC_URL
Untuk deployment production, atur variabel environment
PUBLIC_URLdengan domain aktual tempat setup dijalankan.
4.2.2 Integrasi Jigasi (SIP Gateway)
- Konfigurasi kredensial SIP di file
.env - Jalankan dengan perintah:
1
docker compose -f docker-compose.yml -f jigasi.yml up
4.2.3 Integrasi Etherpad (Document Sharing)
- Konfigurasi Etherpad di file
.env - Jalankan dengan perintah:
1
docker compose -f docker-compose.yml -f etherpad.yml up
4.2.4 Integrasi Jibri (Recording & Streaming)
- Konfigurasi host sesuai panduan Jitsi Broadcasting Infrastructure
- Jalankan dengan perintah:
1
docker compose -f docker-compose.yml -f jibri.yml up -d
4.2.5 Dengan Jigasi dan Jibri:
1
docker compose -f docker-compose.yml -f jigasi.yml -f jibri.yml up -d
4.2.6 Integrasi Transcriber
1
docker compose -f docker-compose.yml -f transcriber.yml up -d
4.2.7 Semua Komponen Bersamaan:
1
docker compose -f docker-compose.yml -f transcriber.yml -f jigasi.yml -f jibri.yml up -d
4.2.8 Log Analysis dengan Grafana
1
docker-compose -f docker-compose.yml -f log-analyser.yml -f grafana.yml up -d
4.3 Proses Update
Untuk memperbarui instalasi, unduh rilis terbaru:
1
wget $(wget -q -O - https://api.github.com/repos/jitsi/docker-jitsi-meet/releases/latest | grep zip | cut -d\" -f4)
Ekstrak dan timpa file yang ada:
1
unzip <nama-file>
4.4 Testing Development Builds
Untuk menguji versi development/unstable, clone repository:
1
git clone https://github.com/jitsi/docker-jitsi-meet && cd docker-jitsi-meet
CATATAN:
- Kode di branch
masterdirancang untuk bekerja dengan image unstable - Jangan gunakan dengan image rilis stabil
- Image unstable baru diupload setiap hari
Jalankan seperti biasa:
1
docker compose up
4.5 Troubleshooting
4.5.1 Error Media Devices
Jika mengalami error:
Failed to access your microphone/cameraCannot read property 'getUserMedia' of undefinednavigator.mediaDevices is undefined
Pastikan mengakses via HTTPS, bukan HTTP.
4.5.2 Security Group Rules
5. Integrasi dengan Asterisk
Lihat dokumentasi tentang Membangun VoIP Server menggunakan Asterisk.

