rustdesk docker: kapsüllenmiş RustDesk sunucusu kılavuzu

RustDesk'i manuel derlemeler, bağımlılık sorunları veya kırılgan VM imajlarıyla uğraşmadan kendi sunucunuzda barındırmak istiyorsunuz. Bu kılavuz, Docker ve Docker Compose ile üretime hazır bir RustDesk sunucu yığını çalıştırmayı; güncellemeleri, yedekleri ve ölçeklemeyi operasyonel bir şekilde yönetmeyi gösterir.
RustDesk'i manuel derlemeler, bağımlılık sorunları veya kırılgan VM imajlarıyla uğraşmadan kendi sunucunuzda barındırmak istiyorsunuz. Bu kılavuz, Docker ve Docker Compose ile üretime hazır bir RustDesk sunucu yığını çalıştırmayı; güncellemeleri, yedekleri ve ölçeklemeyi operasyonel bir şekilde yönetmeyi gösterir.
Neden RustDesk için docker kullanmalı
Konteynerler, kendi sunucunuzdaki uzaktan erişim yığını için hemen iki avantaj sağlar: tekrarlanabilir dağıtımlar ve izolasyon. hbbs/hbbr'ı yerel olarak derlemek veya platforma özel paketler çalıştırmak yerine bir Docker imajı çekip kalıcı bir volume bağlayıp başlatırsınız. Bu, yükseltmeleri, CI/CD'yi ve host taşımalarını basitleştirir. Zaten diğer servisleri konteynerlerde çalıştırıyorsanız (NGINX, certbot, monitoring), RustDesk'i bu şekilde eklemek yığınınızı tutarlı tutar.
Konteynerleştirmemek gerektiği durumlar: özel yamalanmış ikililere ihtiyaç duyuyorsanız veya çok yüksek performanslı relay için derin çekirdek entegrasyonu gerekiyorsa, native kurulum tercih edilebilir. Ayrıca satıcıdan resmi bir kurumsal SLA talep ediyorsanız, konteynerlerin o satıcı tarafından desteklenip desteklenmediğini kontrol edin.
RustDesk sunucu bileşenleri — kısa özet
RustDesk sunucu rolünü en az iki parçaya böler:
- hbbs — ID/işaretleme (signaling) sunucusu. İstemcilerin kaydını ve buluşmasını (rendezvous) yönetir.
- hbbr — relay sunucusu (NAT geçişi başarısız olduğunda). Peer'ler arasındaki trafiği relay eder.
Üretimde genellikle her ikisini de çalıştırırsınız. Tek hafif bir host her iki servisi de barındırabilir; daha büyük dağıtımlarda bunları ayırır, hbbr örneklerini bir yük dengeleyicinin arkasına koyar ve relay kapasitesi için otomatik ölçeklendirme eklersiniz.
Hızlı başlangıç: örnek Docker Compose dağıtımı
Önkoşullar: Ubuntu 22.04 LTS (veya Docker Engine 20.10+ çalıştıran herhangi bir Linux), Docker Compose v2.x, bir alan adı (örnek: rustdesk.example.com). Küçük bir test sunucusu için en az 512 MB RAM ayırın; birden fazla aktif oturum olacak bir relay için 1 GB+ önerilir.
Aşağıda hbbs ve hbbr'ı ayrı servisler olarak çalıştıran, kalıcı veriler bağlayan ve standart RustDesk portlarını yayınlayan pratik bir Docker Compose örneği bulunmaktadır. Çalıştırmadan önce resmi rustdesk/rustdesk-server imaj etiketlerini kontrol edin ve sabit bir sürüm istiyorsanız rustdesk/rustdesk-server:latest kısmını değiştirin.
version: '3.8'
services:
hbbs:
image: rustdesk/rustdesk-server:latest
container_name: rustdesk-hbbs
command: ["hbbs", "--listen", "0.0.0.0:21115"]
ports:
- "21115:21115/tcp"
- "21115:21115/udp"
volumes:
- ./data/hbbs:/data
restart: unless-stopped
hbbr:
image: rustdesk/rustdesk-server:latest
container_name: rustdesk-hbbr
command: ["hbbr", "--listen", "0.0.0.0:21116", "--relay", "0.0.0.0:21116"]
ports:
- "21116:21116/tcp"
- "21116:21116/udp"
volumes:
- ./data/hbbr:/data
restart: unless-stopped
networks:
default:
external: falseAçıklama:
- hbbs'i TCP/UDP port 21115'te, hbbr'i 21116'da çalıştırıyoruz — bunlar RustDesk sunucu derlemeleri için yaygın varsayılanlardır. Kullandığınız imajın port eşlemesini doğrulayın (bazı topluluk derlemeleri farklı varsayılanlar kullanabilir).
- Kalıcı volume'ler
./data/hbbsve./data/hbbr, kayıt ve relay verilerinizi yeniden başlatmalar arasında korur. - Basit dayanıklılık için
restart: unless-stoppedkullanın; üretimde orkestrasyon platformunuzun yeniden başlatma politikalarıyla entegre edin.
Güvenli açılama: TLS, ters proxy ve güvenlik duvarı
RustDesk'in signaling ve relay trafiği TLS ve standart güvenlik duvarı kurallarıyla korunabilir. İki ortak yaklaşım vardır:
- hbbs önünde bir proxy ile doğrudan TLS sonlandırma (sertifika yönetimi için önerilen).
- hbbr'i ham TCP/UDP relay olarak tutup host ağını güvenli hale getirme (ufw/nftables kullanın) ve hbbs'i TLS ile koruma.
Çoğu kurulum TLS'yi sonlandırmak ve trafiği hbbs'ye iletmek için NGINX veya Traefik kullanır. rustdesk.example.com için TLS sonlandıran örnek bir NGINX server bloğu:
server {
listen 443 ssl;
server_name rustdesk.example.com;
ssl_certificate /etc/letsencrypt/live/rustdesk.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/rustdesk.example.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:21115;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
# Optional: redirect http to https
server {
listen 80;
server_name rustdesk.example.com;
return 301 https://$host$request_uri;
}sertifikaları almak için certbot (Let's Encrypt) veya CA'nızı kullanın. Relay (hbbr) kamuya açık UDP/TCP üzerinde çalışıyorsa, bu portları doğrudan açın ancak beklediğiniz IP aralıklarıyla sınırlandırın ya da relay düğümlerini bir yük dengeleyicinin arkasında özel bir alt ağa koyun.
DNS, istemciler ve NAT geçişi
Bir DNS A kaydını (ör. rustdesk.example.com) sunucunuzun genel IP'sine yönlendirin. RustDesk istemcisinde sunucu adresini bu alan adı olarak ayarlayın (ID ve relay araması için). İstemciler rendezvous için ID sunucusunu kullanır; her iki istemci de sınırlayıcı NAT arkasındaysa, hbbr oturumu relay üzerinden yönlendirir.
LAN'daki istemciler üzerinde kontrolünüz varsa, dahili bir DNS çalıştırabilir veya istemcilere hbbs'in dahili IP'sini işaret eden bir yapılandırma dosyası dağıtarak yerel bağlantıları hızlandırabilirsiniz.
Ölçekleme ve kaynak rehberi
Bir relay ne kadar CPU/RAM gerektirir? Eşzamanlı oturum sayısı ve oturum tipi belirleyicidir:
- Küçük test sunucusu: 1 vCPU, 512 MB RAM — birkaç boşta bağlantı.
- Üretim relay (hafif kullanım): 2 vCPU, 1–2 GB RAM — onlarca eşzamanlı oturum.
- Yüksek bant genişliği relay: 4+ vCPU, 4+ GB RAM ve beklenen bant genişliğe (ör. 100+ Mbps) uygun ağ kapasitesi.
Ağır medya içeren uzaktan kontrol veya ekran paylaşımı gibi ani yük bekliyorsanız hbbr örneklerini bir yük dengeleyicinin arkasında otomatik ölçeklendirmeyi öneririz. Container orkestrasyon (Kubernetes, Docker Swarm) veya client IP'lerini koruyan basit yatay ölçeklendirme ile bir TCP/UDP yük dengeleyici (haproxy, bulut LB) kullanın.
Yedekler, güncellemeler ve sürüm sabitleme
Her zaman veriler için kalıcı volume bağlayın ve düzenli yedek alın. Minimal bir yedek betiği:
# daily-backup.sh
TIMESTAMP=$(date +%F)
mkdir -p /backups/rustdesk/$TIMESTAMP
rsync -a ./data /backups/rustdesk/$TIMESTAMP/
# rotate: keep 14 days
find /backups/rustdesk -maxdepth 1 -type d -mtime +14 -exec rm -rf {} \;Güncellemeler için Docker imajını :latest yerine bir etiketle sabitleyin. Sunucu imajını yükseltirken bir staging testi çalıştırın. Örnek iş akışı:
- Yeni imajı çekin:
docker pull rustdesk/rustdesk-server:1.3.0(örnek). - Aynı volume'lerle bir test konteyneri çalıştırın ve duman testleri yapın.
- Bir bakım penceresi planlayın ve üretim host(lar)ındaki konteynerleri değiştirin.
Sorun giderme ve yaygın tuzaklar
Loglarla başlayın: docker logs rustdesk-hbbs ve docker logs rustdesk-hbbr. Yaygın problemler:
- İstemciler kayıt olamıyor: hbbs'nin alan adı üzerinden ulaşılabilir olduğunu ve TLS'nin geçerli olduğunu kontrol edin.
- Oturumlar relay'e düşüyor ama performans kötü: relay host CPU/ram ve ağı inceleyin. Relay paketleri tipik olarak UDP olur; güvenlik duvarınızda ve bulut güvenlik grubunuzda UDP izinli olduğundan emin olun.
- İstemciler sürüm uyumsuzluğu gösteriyor: uyumlu veya eşleştirilmiş RustDesk istemci/sunucu sürümleri kullanın. Sunucu imajınızı sabitlediyseniz, istemcilerin eskimiş protokol özellikleri kullanmadığından emin olun.
Eğer NAT geçişi birçok istemci için sürekli başarısız oluyorsa, genellikle simetrik NAT veya kurumsal güvenlik duvarları sorundur. Bu durumlarda hbbr relay'lerine dayanıp gecikme/bant genişliğini izleyerek kabul edilebilir bir kullanıcı deneyimi sağladığınızdan emin olun.
Güvenlik hususları
Kendi sunucunuzda barındırmak sorumluluğu size verir. Temel adımlar:
- TLS'yi ters proxy'de sonlandırın ve güçlü şifreler kullanın. Sertifikaları Let's Encrypt veya güvenilir bir CA'dan alın.
- Host'u sertleştirin: yalnızca gerekli portları açın, işletim sisteminde otomatik güvenlik güncellemelerini etkinleştirin ve bir güvenlik duvarı (ufw/nftables) kullanın.
- Yönetim arayüzlerine erişimi sınırlandırın ve kaba kuvvet denemeleri için logları izleyin. Mümkünse ağ segmentasyonu yapın; relay düğümlerini ayrı bir alt ağa koyun.
Daha geniş bir uzaktan erişim kilitleme tartışması istiyorsanız, remote desktop security başlıklı yazımıza ve self‑hosted remote desktop içeriğindeki pratik ödünleşimlere bakın.
Yönetilen bir satıcı daha iyi olduğunda
Docker ile kendi sunucunuzu çalıştırmak kontrol ve gizlilik sağlar, ancak tam yönetilen bir SLA, resmi kurumsal özellikler (kullanıcı yönetimi, merkezi faturalama) veya hazır Windows AD entegrasyonu gerekiyorsa, TeamViewer veya AnyDesk gibi ticari satıcılar daha uygun olabilir. Ödünleşimleri dürüstçe değerlendirin: kendi sunucunuzu barındırmak oturum başına tekrarlanan ücretleri azaltır ve veri yerelliği sağlar, ancak bakım, izleme ve güvenlik için operasyonel zaman gerektirir.
Sonraki adımlar ve kaynaklar
Laboratuvardan üretime geçmek için kontrol listesi:
- Docker Engine 20.10+ ve Docker Compose v2.x çalıştıran bir host seçin.
- Kalıcı volume'ler oluşturun ve günlük bir yedekleme işi kurun.
- Sunucu imajını sabitleyin ve güncellemeleri staging'de doğrulayın.
- NGINX/Traefik ile TLS'yi sonlandırın ve sertifikaları Let's Encrypt'ten alın.
- Relay host'ları izleyin ve CPU veya bant genişliği sağlık eşiklerine ulaştığında hbbr'i ölçeklendirin.
Container yaklaşımıyla yan yana karşılaştırmak için temiz bir indirme mi istiyorsunuz? Tenvo'nun ikili dosyalarını veya yükleyicilerini /download adresinden alın ve dağıtım seçenekleri için /pricing sayfamıza bakın. Daha geniş bir uzaktan erişim kurulumu takip etmek isterseniz, remote access setup guide ağ, kimlik doğrulama ve kullanılabilirlik konularını araçlar arasında ele alır.
RustDesk'i Docker altında çalıştırmak, çoğu kendi sunucusunda barındıran için sağlam ve sürdürülebilir bir yaklaşımdır: yükseltmeleri basitleştirir ve mevcut konteyner altyapısıyla iyi entegre olur. K8s için bir manifest veya Helm chart örneğiyle bu içeriği uyarlamak isterseniz geri dönün; sağlarım.
Denemeye hazır mısınız? Gerekli istemcileri veya test imajlarını /download adresinden indirin ve containerize edilmiş RustDesk sunucunuzu bugün çalıştırın.
Kendiniz denemeye hazır mısınız?
30 cihaza kadar ücretsiz, kredi kartı gerekmiyor. İki dakikada kurulur ve bağlanır.