Kalian masih pakai teamviewer buat remote desktop? Mari kita coba Bikin Self Hosting Remote Desktop Sendiri. RustDesk adalah perangkat lunak remote desktop open-source yang memungkinkan kamu mengakses dan mengontrol komputer jarak jauh, mirip seperti TeamViewer atau AnyDesk, tetapi tanpa biaya lisensi dan dengan opsi self-hosting untuk keamanan dan kontrol penuh atas data kamu.
Apa Itu RustDesk
Contents
- 1 Gambaran Singkat Arsitektur
- 2 1. Kebutuhan
- 3 2. Install Docker & Docker Compose
- 4 3. Buat Folder Server RustDesk
- 5 4. Buat docker-compose.yml
- 6 5. Jalankan Server
- 7 6. Ambil Public Key
- 8 7. Konfigurasi Client RustDesk
- 9 8. (Opsional) Ganti Port
- 10 9. (Opsional) Domain + SSL
- 11 10. Keamanan Tambahan (Disarankan)
- Remote Desktop – Mengakses layar, kontrol mouse & keyboard, buka aplikasi, dan lain-lain di komputer lain dari jarak jauh.
- Open-Source & Gratis – Seluruh kode sumber tersedia di GitHub dan bebas digunakan.
- Self-Hosting – Kamu bisa menjalankan server RustDesk sendiri (server rendezvous/relay) agar koneksi tidak melalui server pihak ketiga.
- Keamanan Tinggi – Koneksi peer-to-peer dengan enkripsi end-to-end (E2EE).
- Fitur Tambahan – Transfer file, clipboard sharing, dukungan multi-platform (Windows, macOS, Linux, Android, iOS) dan bahkan klien web.
Keunggulan Utama
- Kontrol penuh terhadap data sendiri — ideal untuk privasi atau aturan kepatuhan perusahaan.
- Tanpa biaya berlangganan — berbeda dengan solusi komersial yang biasanya berbayar.
- Cross-platform lengkap — bisa dipakai dari berbagai sistem operasi termasuk ponsel.
Berikut cara self-hosting RustDesk server yang paling umum dan stabil (pakai Docker). Ini cocok kalau kamu ingin kontrol penuh + privasi (tidak lewat server publik RustDesk).
Gambaran Singkat Arsitektur
RustDesk server terdiri dari:
- hbbs → ID/Rendezvous server (wajib)
- hbbr → Relay server (wajib untuk NAT/firewall ketat)
Keduanya harus jalan.
1. Kebutuhan
Minimal:
- VPS / server (Ubuntu 20.04 / 22.04 direkomendasikan)
- CPU 1 core, RAM 1 GB (cukup untuk pribadi)
- IP publik
- Port terbuka:
TCP: 21115, 21116, 21117, 21118, 21119 UDP: 21116
Jika kamu pakai cloud + firewall, pastikan port di atas di-allow.
2. Install Docker & Docker Compose
sudo apt update
sudo apt install -y docker.io docker-compose
sudo systemctl enable docker
sudo systemctl start docker
Cek:
docker --version
3. Buat Folder Server RustDesk
mkdir -p ~/rustdesk
cd ~/rustdesk
4. Buat docker-compose.yml
version: '3'
services:
hbbs:
image: rustdesk/rustdesk-server:latest
container_name: rustdesk-hbbs
command: hbbs
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stopped
hbbr:
image: rustdesk/rustdesk-server:latest
container_name: rustdesk-hbbr
command: hbbr
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stopped
network_mode: hostpenting supaya NAT traversal lancar.
5. Jalankan Server
docker-compose up -d
Cek status:
docker ps
6. Ambil Public Key
Ini WAJIB untuk client.
cat data/id_ed25519.pub
Contoh output:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI...
Simpan baik-baik.
7. Konfigurasi Client RustDesk
Di PC Client:
- Buka RustDesk
- ⚙️ Settings → Network
- Isi:
- ID Server:
IP_PUBLIC_SERVER - Relay Server:
IP_PUBLIC_SERVER - Key: (paste public key tadi)
- ID Server:
- Save → Restart RustDesk
✅ Sekarang semua koneksi pakai server kamu sendiri.
8. (Opsional) Ganti Port
Jika mau custom port:
hbbs -p 21115
hbbr -p 21117
Atau via command: di docker-compose.
9. (Opsional) Domain + SSL
Jika ingin pakai domain:
- A record → IP server
- Gunakan Nginx reverse proxy + SSL (Let’s Encrypt)
- RustDesk tidak wajib SSL, tapi bagus untuk compliance
10. Keamanan Tambahan (Disarankan)
Karena kamu sebelumnya pakai Fail2ban & JupyterLab, ini relevan:
- Firewall:
ufw allow 21115:21119/tcp
ufw allow 21116/udp
- Jangan expose SSH tanpa key
- Update image rutin:
docker-compose pull
docker-compose up -d
Berikut ketika saya menggunakan rustdesk dari macbook untuk akses PC ubuntu

Saya sangat puas menggunakan rustdesk karena sangat bagus untuk remote desktop daripada teamviewer yang harus ganti-ganti ID ketika di run lagi