Bikin Self Hosting Remote Desktop Sendiri

By | December 25, 2025
473 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  Enum User Terhadap Nama Pengguna di OpenSSH

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  Kemana aliran data Undangan Pernikahan.apk?

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