Install Matrix Synapse Chat di Ubuntu 20.04

Buat yang belum tahu, saya mau share sedikit tentang protokol Matrix dimana menurut saya adalah system chat masa depan nanti. System chat ini sudah support encrypted chat, dan sistemnya bersifat desentralisasi. Selain chat, bisa juga digunakan sebagai sarana voip dimana saat ini fitur tersebut sangat membantu.

Chat Board Community

Menurut saya fitur yang ada pada protokol Matrix ini membuka kesempatan baru untuk para komunitas untuk lebih berkembang dan sebagai tempat berkreatifitas. Karena sifatnya yang desentralisasi dan encrypted, maka saya rasa sangat bagus dan cocok sekali untuk dikembangkan tidak hanya pada komunitas, namun sektor kantor, bahkan sekolah.

Kualitas VoIP

Jika kita secara overview membicarakan bagaimana kualitas VoIP dari protokol Matrix ini saya jujur saja belum bisa menentukan atau mengatakan apakah bagus dan tidaknya. Tapi yang bisa saya katakan adalah, jika server matrix itu sendiri menggunakan koneksi IIX atau di Indonesia, seharusnya kualitasnya lebih bagus ketimbang dengan kualitas server yang ada di Singapura, seperti yang kebanyakan sudah ada.

Saya juga masih kurang mengerti, mengapa fitur seperti VoIP gratis ini masih belum banyak di implementasikan. Tapi kalau boleh menebak sih, ini karena ada produk t*lk*m yang masih menggunakan VoIP dengan tradisional. Jadi saya rasa mungkin ini adalah salah satu penyebabnya, hehe.

Proses Install

Proses install yang saya lakukan hampir sama persis dengan tutorial di sini https://www.howtoforge.com/tutorial/how-to-install-matrix-synapse-on-ubuntu-20-04/

Di sini saya menggunakan spesifikasi server sebagai berikut :

  • 2 GB RAM
  • 40 GB SSD storage
  • 100 Mbps speed
  • Jakarta Cyber 2 Datacenter
  • 2 vCPU
  • Ubuntu 20.04 LTS x64

Rangkuman proses instalasi :

Install Matrix Synapse
Configure Matrix Synapse
Generate SSL Letsencrypt
Set up Nginx as a Reverse Proxy
Set up UFW Firewall
Register New User
Testing

Namun ada tambahan sedikit untuk proses konfigurasi. Yaitu pada proses konfigurasi nginx dan homeserver.yaml

Konfigurasi Nginx

Untuk konfigurasi nginx saya menggunakan referensi dari link ini https://matrix-org.github.io/synapse/latest/reverse_proxy.html dan modifikasi sedikit pada kata localhost diganti dengan IP address server kita. Kemudian ada penambahan ssl certificate untuk define cert yang digunakan.

Mengapa demikian? Karena somehow saya coba yang dari konfigurasi nginx howtoforge itu tidak bisa kebaca.

Untuk snapcode nya bisa di lihat di bawah ini

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    # For the federation port
    listen 8448 ssl http2 default_server;
    listen [::]:8448 ssl http2 default_server;

    ssl_certificate /etc/letsencrypt/live/domain/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/domain/privkey.pem;

    server_name matrix.example.com;

    location ~ ^(/_matrix|/_synapse/client) {
        # note: do not add a path (even a single /) after the port in `proxy_pass`,
        # otherwise nginx will canonicalise the URI and cause signature verification
        # errors.
        proxy_pass http://ip-address:8008;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $host;

        # Nginx by default only allows file uploads up to 1M in size
        # Increase client_max_body_size to match max_upload_size defined in homeserver.yaml
        client_max_body_size 50M;
    }
}

Jika sudah pastikan kita reload lagi nginx agar langsung kebaca.

service nginx restart

Integrasi Google Captcha

Secara default, registrasi pada home server tidak dibuka. Oleh karena itu, pendaftaran tiap usernya harus dibuatkan satu per satu. Namun kalau kamu mau agar user tersebut bisa mendaftar secara mandiri, maka ada beberapa syntax pada config yang harus diubah.

Dokumentasinya bisa langsung kamu lihat di sini https://github.com/matrix-org/synapse/blob/develop/docs/CAPTCHA_SETUP.md

Leave a Reply

Your email address will not be published. Required fields are marked *