Maskot beruang kutub NordBastion yang memimpin grafik federasi dari simpul-simpul cyan yang terhubung oleh garis-garis bercahaya dengan ikon gelembung bicara yang mewakili pesan terenkripsi end-to-end, aurora borealis melalui jendela observatorium Nordik
How-to · 2 jam hands-on·Diperbarui 2026

Self-host Matrix di VPS.
Synapse + Element. Difederasi. Terenkripsi end-to-end.

Matrix adalah seperti apa email jika dirancang untuk obrolan di era protokol terbuka. Synapse sebagai homeserver, Element sebagai klien, PostgreSQL sebagai penyimpanan, Caddy sebagai pintu masuk — dan grafik ruang yang difederasi yang tidak dimiliki siapa pun secara khusus.

Ringkasan
  • 01

    Synapse adalah homeserver default yang tepat di 2026 — implementasi referensi yang terbukti dalam produksi dan berfitur lengkap. Conduit dan Dendrite valid untuk kasus penggunaan yang lebih sempit.

  • 02

    Beralih ke PostgreSQL di hari pertama; SQLite default hanya untuk pengujian dan akan gagal di atas beberapa pengguna. Rencanakan disk untuk unggahan media — ruang yang difederasi mengumpulkannya dengan cepat.

  • 03

    Pendaftaran tertutup adalah default yang aman. Pendaftaran publik adalah pekerjaan moderasi nyata; aktifkan hanya jika Anda bermaksud menjalankannya.

Bab 1

Matrix dalam lima kalimat. Apa yang sebenarnya Anda deploy.

Matrix adalah protokol terbuka untuk komunikasi real-time. Homeserver adalah server yang menjalankan protokol; pengguna memiliki satu homeserver masing-masing, diidentifikasi sebagai @alice:example.com — pola yang sama seperti email. Ruang adalah unit percakapan; satu ruang dapat memiliki anggota dari banyak homeserver yang berbeda, dan status ruang direplikasi di semua homeserver yang berpartisipasi. Ruang pribadi mengenkripsi setiap pesan dengan kunci per-perangkat (Olm/Megolm) sehingga server hanya melihat ciphertext. Seluruh jaringan adalah grafik homeserver yang memfederasikan status ruang satu sama lain.

Properti yang menarik: tidak ada otoritas pusat yang dapat mematikan Matrix (protokol terbuka dan berjalan di mana-mana), pengguna di server berbeda berbicara secara transparan (federasi), ruang pribadi memiliki enkripsi end-to-end yang tepat (bukan enkripsi-dalam-transit gaya iklan), dan pengguna dapat berpindah homeserver dan mempertahankan identitas mereka dengan menjalankan miliknya sendiri. Pertimbangannya adalah kompleksitas operasional — menjalankan homeserver lebih banyak pekerjaan daripada login ke Discord — dan ekosistem klien yang dipoles lebih kecil dari platform proprietary.

Yang Anda deploy dalam panduan ini: Synapse (homeserver), PostgreSQL (database-nya), Element Web (klien browser, dihosting dari domain Anda sendiri), dan Caddy (reverse proxy + TLS otomatis). Opsional backend penyimpanan media dan endpoint well-known untuk penemuan federasi. Seluruh tumpukan adalah dua file Docker Compose dan satu konfigurasi Caddy.

Bab 2

Pengaturan ukuran. Synapse berbentuk memori.

Synapse menyimpan status per-ruang dalam memori, dan bergabung ke ruang yang difederasi besar (misalnya #matrix:matrix.org dengan 60.000 anggota) menarik banyak status itu ke homeserver Anda. Hasilnya adalah bahkan Synapse pengguna tunggal dapat menggunakan 2–3 GB RAM secara stabil jika pengguna berada di ruang yang difederasi dengan lalu lintas padat. Rencanakan sesuai.

Pengguna tunggal, federasi sedang. 2 vCPU, 4 GB RAM, 40 GB SSD. <a href="/id/vps/" class="text-nord-cyan border-b border-nord-cyan/40 hover:border-nord-cyan transition">Paket Ravelin ($5,90/bulan)</a> di NordBastion berukuran tepat. Kapasitas disk bertambah sekitar 10 GB per tahun untuk satu pengguna aktif; rencanakan ruang penyimpanan yang cukup untuk itu.

Tim kecil, 5–20 pengguna. 4 vCPU, 8 GB RAM, 100 GB SSD. Tier Iron ($24,90/bulan) menangani ini dengan nyaman. Jalankan PostgreSQL di VPS yang sama; database muat dalam RAM dan disk cadangan.

Homeserver publik, 100+ pengguna. Melewati 100 pengguna aktif, Synapse mendapat manfaat dari proses worker (penerima federasi terpisah, pembaca federasi, worker pembaca klien) dan PostgreSQL yang dioptimalkan. Tier Iron atau Granite menangani ini, tetapi kompleksitas operasional tumbuh secara non-linear — pada skala tersebut Anda adalah admin Matrix selain pengguna perangkat lunak.

Realitas disk. Unggahan media (gambar, video, file) dari ruang yang difederasi menumpuk di homeserver Anda karena federasi Matrix menarik media ke lokal untuk disajikan. Homeserver publik yang sibuk dapat menambahkan 1 GB media per minggu. Konfigurasi media_retention Synapse memungkinkan Anda memangkas konten lama; tinjau sekali per kuartal.

Bab 3

Instalasi Docker Compose. Synapse, PostgreSQL, Element.

Jalankan VPS Debian 12 baru, arahkan tiga rekaman DNS ke sana: matrix.example.com (hostname homeserver), element.example.com (klien web), dan example.com itu sendiri jika Anda ingin pengidentifikasi singkat @alice:example.com. SSH masuk sebagai pengguna sudo.

1. Instal Docker dan Compose. curl -fsSL https://get.docker.com | sh — Docker Engine dikirimkan Compose v2 dalam paket yang sama.

2. Buat konfigurasi Synapse. mkdir -p ~/synapse/data && docker run -it --rm -v ~/synapse/data:/data -e SYNAPSE_SERVER_NAME=example.com -e SYNAPSE_REPORT_STATS=no matrixdotorg/synapse:latest generate — ini menulis homeserver.yaml. Edit: ubah database dari SQLite ke PostgreSQL, tetapkan URL media, tetapkan enable_registration: false untuk memulai (Anda membuat pengguna melalui CLI admin untuk saat ini).

3. Tulis docker-compose.yml. Tiga layanan: postgres (postgres:16, volume persisten, lokal C), synapse (matrixdotorg/synapse:latest, mount ~/synapse/data, tergantung pada postgres), element (vectorim/element-web:latest, mount config.json kecil yang mengarah ke https://matrix.example.com). Petakan hanya synapse:8008 dan element:80 ke localhost; jangan ikat [redacted-ip].

4. Pasang dengan Caddy. Dua situs Caddyfile: matrix.example.com mem-proxy ke [redacted-ip] (Synapse) di port 443 dan 8448 (port federasi); element.example.com mem-proxy ke [redacted-ip] (Element Web). Caddy mengambil sertifikat Let's Encrypt secara otomatis.

5. Penemuan federasi (.well-known). Tambahkan dua file JSON statis di example.com itu sendiri: /.well-known/matrix/server mengembalikan {"m.server": "matrix.example.com:443"} dan /.well-known/matrix/client mengembalikan {"m.homeserver": {"base_url": "https://matrix.example.com"}}. Ini memungkinkan pengidentifikasi singkat @alice:example.com diselesaikan dengan benar. Verifikasi dengan Federation Tester di federationtester.matrix.org.

6. Buat pengguna pertama Anda. docker exec -it synapse register_new_matrix_user -u alice -p <password> -a -c /data/homeserver.yaml http://localhost:8008 — yang membuat akun admin. Masuk melalui https://element.example.com.

Bab 4

Element, branding, kebijakan pendaftaran. Keputusan yang bertahan lama.

Konfigurasi Element. Element Web membaca config.json yang mengarah ke homeserver Anda, menetapkan tema default, branding, dan daftar "ruang yang disarankan" untuk akun baru. Tetapkan default_server_config.m.homeserver.base_url ke https://matrix.example.com, brand ke nama proyek Anda, dan nonaktifkan field brand_url yang menyarankan matrix.org. Pengguna baru mendarat di Element Web yang mengarah ke server Anda, bukan milik orang lain.

Kebijakan pendaftaran. Tiga mode: tertutup (hanya admin yang dapat mendaftarkan pengguna melalui CLI; postur moderasi terbersih), berbasis token (Anda membuat token pendaftaran melalui API admin dan membagikannya; lebih baik untuk grup kecil), terbuka (siapa pun dapat mendaftar; aktifkan hanya jika Anda bermaksud mengoperasikan homeserver publik dengan peralatan moderasi). Mulai tertutup dan hanya longgarkan jika Anda punya alasan.

Daftar blokir federasi. Synapse mendukung federation_domain_whitelist (hanya daftar-izin) dan blokir per-server melalui API admin. Untuk sebagian besar homeserver publik, defaultnya adalah "berfederasi dengan semuanya", dengan blokir reaktif server yang berbahaya sesuai kebutuhan. Bot Mjolnir mengotomatiskan ini jika Anda menjadi target.

Backup. Dump malam PostgreSQL + tarball ~/synapse/data, dikirim off-server melalui rclone ke VPS kedua atau bucket B2. Keduanya diperlukan; database adalah status ruang dan akun, direktori data menyimpan kunci penandatanganan dan media. Uji pemulihan setiap kuartal, seperti backup apa pun.

Bab 5

Realitas moderasi. Apa yang sebenarnya berarti self-hosting.

Menjalankan homeserver Matrix berarti menerima bahwa host bertanggung jawab atas apa yang dilakukan server. Di homeserver pribadi hanya-undangan, tanggung jawab itu kecil — Anda mengenal setiap pengguna. Di homeserver publik, tanggung jawab tumbuh sesuai basis pengguna.

Penyalahgunaan masuk. Ruang publik yang difederasi dapat terseret ke koordinasi penyalahgunaan, pengunggahan gambar, atau pelecehan. Synapse mengekspos endpoint API admin untuk melarang pengguna (di semua ruang), memblokir homeserver (tidak ada federasi lebih lanjut), dan memaksa server meninggalkan ruang. Bot Mjolnir membungkus ini ke dalam alur kerja ruang moderasi; fork Draupnir adalah kelanjutan yang aktif dipelihara.

Penyalahgunaan keluar. Akun pengguna yang dikompromikan dapat memposting konten berbahaya ke ruang yang difederasi, yang merusak reputasi server Anda dengan jaringan lainnya. Dua mitigasi: batasi laju per pengguna (batas laju default Synapse sudah wajar), dan wajibkan verifikasi email untuk akun baru (meningkatkan hambatan pendaftaran otomatis).

Postur hukum. Di EU, peran penyedia infrastruktur memberikan perlindungan tanggung jawab perantara yang kuat (Direktif e-Commerce Pasal 14, DSA Pasal 6) — Anda tidak bertanggung jawab atas konten pengguna selama Anda merespons pemberitahuan dan takedown. Yurisdiksi Nordik memperpanjang ini dengan perlindungan kebebasan pers konstitusional yang eksplisit. Homeserver yang sama yang dijalankan di yurisdiksi tanpa perlindungan perantara secara operasional lebih berisiko; pilih lokasi host sesuai.

Default yang aman. Pendaftaran hanya-undangan, federasi diaktifkan dengan blokir reaktif, Mjolnir / Draupnir terpasang tetapi tidak digunakan sampai diperlukan, ketentuan layanan dipublikasikan di situs web homeserver dengan kebijakan penggunaan yang dapat diterima yang jelas. Postur tersebut menangani 95% operator tanpa upaya lebih lanjut.

Bab 6

Mengapa host penting. Enkripsi melindungi konten, host melindungi metadata.

Matrix E2EE melindungi isi pesan — server hanya menyimpan ciphertext untuk ruang pribadi. Yang tidak dilindunginya adalah metadata: homeserver mana yang berfederasi satu sama lain, pengguna mana yang ada di ruang mana, kapan mereka online, seberapa sering mereka mengirim pesan, apa perangkat mereka. Grafik metadata tersebut berada di homeserver dan homeserver yang berfederasi dengannya, dan secara teknis di luar jangkauan lapisan enkripsi.

Homeserver yang berjalan di VPS berkaitan KYC mengikat grafik metadata ke identitas legal operator. Surat perintah kepada host menghasilkan bukan hanya database terenkripsi tetapi juga tautan dari pengidentifikasi @alice:example.com ke nama nyata di dunia. Enkripsi tetap berlaku; lapisan metadata terbuka.

Postur NordBastion adalah kebalikannya: <a href="/id/doctrine/" class="text-nord-cyan border-b border-nord-cyan/40 hover:border-nord-cyan transition">pendaftaran tanpa KYC</a>, pembayaran kripto, yurisdiksi konstitusional Nordik. Homeserver adalah milik Anda; tautan dari homeserver ke nama nyata tidak ada; rezim hukum yang menyentuh disk memiliki perlindungan kebebasan pers yang eksplisit. Kombinasi ini sesuai dengan model keamanan Matrix itu sendiri — baik lapisan konten kriptografis maupun lapisan operasional metadata sama-sama terlindungi.

FAQ · Hosting mandiri Matrix

Pertanyaan, dijawab.

Delapan pertanyaan yang muncul saat menjalankan homeserver Matrix di 2026.

Apa itu Matrix dan bagaimana perbedaannya dari Discord atau Slack?

Matrix adalah protokol komunikasi real-time terbuka dan terstandardisasi — bayangkan SMTP untuk obrolan. Siapa pun menjalankan homeserver (Synapse, Dendrite, Conduit), pengguna di homeserver yang berbeda berbicara satu sama lain secara transparan, setiap pesan di ruang pribadi dienkripsi end-to-end secara default, tidak ada perusahaan pusat yang mengendalikan jaringan. Discord dan Slack terpusat, proprietary, dan perusahaan menghosting setiap percakapan. Pertimbangannya: Matrix memiliki kompleksitas operasional yang sedikit lebih tinggi dan ekosistem klien yang dipoles lebih kecil, tetapi Anda memiliki setiap byte.

Synapse, Dendrite atau Conduit — homeserver mana?

Synapse adalah referensi, ditulis dalam Python, yang paling lengkap fitur dan pilihan yang terbukti dalam produksi. Ini berat memori. Dendrite adalah penulisan ulang Go yang lebih baru, jauh lebih ringan, melewatkan beberapa fitur moderasi lanjutan tetapi dengan cepat menutup kesenjangan. Conduit adalah opsi ketiga, homeserver Rust yang berfokus pada jejak sumber daya yang kecil, bagus untuk homeserver pengguna tunggal di VPS murah. Default ke Synapse kecuali Anda memiliki alasan khusus — dokumentasi, peralatan moderasi, dan bridge pihak ketiga semuanya mengasumsikan Synapse.

Berapa banyak VPS yang saya butuhkan untuk homeserver Matrix?

Pengguna tunggal yang berfederasi ke jaringan Matrix yang lebih luas — 2 vCPU, 4 GB RAM, 40 GB SSD adalah lantai praktis. Tim kecil (5–20 pengguna) — 4 vCPU, 8 GB RAM, 100 GB SSD. Tier Ravelin atau Iron mencakup kedua kasus. Sumber daya dominan adalah RAM (Synapse menyimpan banyak status ruang dalam memori) dan disk (unggahan media dan riwayat ruang yang difederasi terus bertumbuh).

Haruskah saya mengaktifkan federasi?

Hampir selalu ya — itulah inti dari Matrix. Federasi memungkinkan pengguna Anda berbicara dengan siapa pun di matrix.org, mozilla.org, kde.org, dan ribuan homeserver lainnya. Pengecualian: server tim internal pribadi di mana Anda tidak ingin siapa pun menemukan ruang; model ancaman berisiko tinggi di mana pola lalu lintas federasi membocorkan informasi; server yang menghosting materi sensitif di mana Anda ingin kontrol keanggotaan yang ketat. Menonaktifkan federasi nanti tidak apa-apa; mengaktifkannya kembali membuat Anda dapat ditemukan.

Apakah ruang pribadi dienkripsi end-to-end secara default?

Ya — setiap klien Element mengaktifkan E2EE secara default untuk pesan langsung baru dan ruang pribadi. Enkripsinya adalah Olm/Megolm per-ruang dengan verifikasi perangkat yang ditandatangani secara silang. Server hanya melihat ciphertext untuk isi pesan. Ruang publik tidak terenkripsi secara desain (karena siapa pun bisa bergabung, enkripsi tidak akan melindungi apa pun). Ruang publik yang difederasi terlihat oleh siapa pun — itulah inti dari ruang publik.

Apa realitas moderasi dari menjalankan homeserver publik?

Ini pekerjaan nyata. Jika Anda mengizinkan pendaftaran publik, homeserver Anda akan berfederasi ke ruang-spam, terseret ke ruang koordinasi penyalahgunaan, dan kadang-kadang menampilkan konten yang tidak diinginkan dari server yang difederasi. Menjalankan homeserver publik memerlukan kesediaan untuk menerapkan larangan tingkat server, memblokir federasi server yang bermusuhan, dan merespons laporan penyalahgunaan. Bagi sebagian besar operator, postur yang benar adalah pendaftaran tertutup (hanya-undangan) — setiap pengguna adalah seseorang yang Anda kenal, dan permukaan penyalahgunaan turun menjadi hampir nol.

Bisakah saya menggunakan homeserver Matrix saya sebagai pengganti Slack / Discord di tempat kerja?

Ya — Element Server Suite dan kombinasi Synapse + Element Web yang mendasarinya mencakup set fitur "obrolan tim dengan ruang persisten, thread, reaksi, huddle suara/video". Kesenjangan utama relatif terhadap Slack adalah integrasi pihak ketiga (lebih sedikit aplikasi siap pakai); kesenjangan utama relatif terhadap Discord adalah saluran suara yang dipoles. Keduanya bisa digunakan tetapi memerlukan sedikit upaya operator. Untuk tim kecil yang mengutamakan kedaulatan data daripada kerapian, pertukaran tersebut jelas sepadan.

Mengapa host tempat saya menyewa VPS penting untuk server Matrix?

Karena protokol obrolan yang difederasi menciptakan metadata persisten tentang siapa-berbicara-ke-siapa-kapan di homeserver. Metadata itu kaya (grafik ruang yang difederasi, acara federasi, unggahan media). Menempatkannya di host dengan KYC mengikat metadata ke identitas Anda; menempatkannya di host di yurisdiksi yang bermusuhan berarti aktor negara dapat memaksanya. VPS Nordik tanpa KYC menyelaraskan postur metadata host dengan postur kriptografis protokol — kedua bagian dari cerita privasi.

Dapatkan metalnya

VPS Nordic untuk homeserver Anda. Bebas KYC, berbayar kripto.

Ravelin (2 vCPU, 4 GB, $5,90/bulan) mencakup Synapse yang difederasi pengguna tunggal. Iron (4 vCPU, 8 GB, $24,90/bulan) adalah jawaban untuk tim kecil.

Terakhir ditinjau · 2026-05-20 · Sumber · Synapse upstream docs, referensi konfigurasi Element, spesifikasi Matrix, EU DSA Pasal 6 · Kadence · tahunan