Bikin Self Hosting Remote Desktop Sendiri

By | December 25, 2025
474 Views

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

  • 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:

  1. hbbsID/Rendezvous server (wajib)
  2. hbbrRelay server (wajib untuk NAT/firewall ketat)
See also  cara menggunakan openconnect untuk VPN Global Protect

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: host penting 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:

  1. Buka RustDesk
  2. ⚙️ Settings → Network
  3. Isi:
    • ID Server: IP_PUBLIC_SERVER
    • Relay Server: IP_PUBLIC_SERVER
    • Key: (paste public key tadi)
  4. 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

See also  Brute Force Login SSH dengan scanner/ssh/ssh_login

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