Files
BetterDesk/docs/wiki/Home.md
T
UNITRONIX cbf72ca1e3 feat(ux): introduce UX 3.5 with new console shell and theme options
- Added UX 3.5 as the default console shell, featuring a full-list sidebar, topbar, and customizable themes (Dark/Light/Custom).
- Updated documentation to reflect the new UX 3.5 shell.
- Removed legacy Desktop Mode and Beta 3.1 styles, ensuring a streamlined user experience.
- Enhanced language support for new theme options across multiple languages.
- Fixed OIDC client login issues by proxying callback URLs to the Go API.

This update improves the overall user interface and experience, aligning with modern design standards.
2026-07-26 09:54:46 +02:00

4.8 KiB

BetterDesk

BetterDesk Wiki

RustDesk-compatible remote desktop infrastructure — Go server, Node.js console, CDAP, and browser remote.

Version License Go Node.js

BetterDesk replaces hbbs + hbbr with a single Go binary, adds a full web management console, optional CDAP for IoT/SCADA devices, and a browser-based remote desktop client.

Warning

MGMT Client and Agent Client (Tauri desktop apps) are alpha — not for production. Use the Web Console and standard RustDesk client in production. See Alpha Software Notice.


Quick Start

Linux (bare metal)

git clone https://github.com/UNITRONIX/BetterDesk.git
cd BetterDesk
sudo ./betterdesk.sh

Choose 1 for a new installation, or run sudo ./betterdesk.sh --auto for non-interactive setup.

Docker (30 seconds)

curl -fsSL https://raw.githubusercontent.com/UNITRONIX/BetterDesk/main/docker-compose.quick.yml -o docker-compose.yml
docker compose up -d

Open http://your-server:5000 for the web console. Default install paths: Go server /opt/betterdesk, console /opt/BetterDeskConsole (legacy /opt/rustdesk is still detected by the installer).


Documentation

Topic Page
Installation Installation — Linux, Windows, Docker
Configuration Configuration — CLI flags, .env, systemd/NSSM
Client setup Client Setup — RustDesk desktop/mobile
Web console Web Console — Dashboard, devices, settings (UX 3.5 shell)
Users & RBAC User Management, Organizations and RBAC
OIDC / SSO OIDC SSO
Client generator Client Generator
Fleet & policies Fleet and Policies
Panel updates Panel Updates
Security Security — E2E, TLS, audit
API API Reference
CDAP CDAP — IoT device protocol
SDK SDK — Python & Node.js CDAP SDK
Desktop clients Desktop Clients — MGMT, Agent, Native
Web remote Web Remote Desktop
MeshAgent MeshAgent — optional MeshCentral compat
Docker Docker Deployment
TLS / SSL TLS / SSL Certificates
Migration Migration Guide
Licensing Licensing — AGPL-3.0 & Commercial Grant
Help Troubleshooting, FAQ

Deep-dive developer docs live in the repository: docs/.


Architecture Overview

RustDesk Desktop/Mobile Clients
  ├── UDP/TCP (:21116) ──► Signal Server ──► Registration, PunchHole, Relay
  ├── TCP     (:21117) ──► Relay Server  ──► Bidirectional relay pipe
  ├── WS      (:21118) ──► WS Signal     ──► WebSocket signal
  ├── WS      (:21119) ──► WS Relay      ──► WebSocket relay
  └── HTTP    (:21121) ──► Client API    ──► Login, AB sync, heartbeat

CDAP Agents / SDK Bridges
  └── WS/HTTP (:21122) ──► CDAP Gateway ──► Metrics, commands, widgets

Admin / Web Console
  ├── HTTP  (:21114) ──► REST API      ──► JWT / API-key auth
  ├── WS    (:21114) ──► Event Stream  ──► Real-time status push
  └── HTTP  (:5000)  ──► Web Console   ──► Node.js + Express + EJS

Optional: MeshCentral compatibility (MeshAgent KVM, terminal, files)

Production vs Alpha

Component Status Production use
Go Server Stable Recommended
Web Console Stable Recommended
Native CDAP Agent (Go) Stable OK for deployment
RustDesk client (standard) Stable Recommended
MGMT Client (Tauri) Alpha Do not use
Agent Client (Tauri) Alpha Do not use