Self-Hosted RustDesk Configuration for MiroTalk SFU (Cloudron)
Docker image build in progress...
MiroTalk SFU v.2.6.14
Configure the following environment variables in your MiroTalk SFU env file to use your own RustDesk server hosted on Cloudron:
# Enable presenter remote control requests (true|false)
REMOTE_CONTROL_ENABLED=true
# Allow public access to the setup page.
# true = anyone with the URL can access it
# false = access requires a valid token from a MiroTalk room request
REMOTE_CONTROL_DOWNLOAD_URL_PUBLIC=false
# Leave it empty here
REMOTE_CONTROL_DOWNLOAD_URL=
# RustDesk ID server hostname (e.g. rustdesk.example.com)
REMOTE_CONTROL_SERVER_HOST=
# RustDesk server PUBLIC key (contents of id_ed25519.pub)
# Never use or expose the private key (id_ed25519).
REMOTE_CONTROL_SERVER_KEY=
How It Works
By default, REMOTE_CONTROL_SETUP_PUBLIC=false, so access to the setup page requires a valid, room-bound token.
The presenter sends a remote-control request to a participant.
When the request is created, the server generates a signed token bound to the room, valid for 15 minutes.
The participant receives a Get RustDesk link pointing to /remote-control/setup?t=<token>.
The setup page validates the token. Requests with missing, invalid, forged, or expired tokens return 404 Not Found.
Optional: Public Setup Page
Set REMOTE_CONTROL_SETUP_PUBLIC=true to make the setup page publicly accessible without a token. Anyone with the URL can open it.
Security recommendation: Keep REMOTE_CONTROL_SETUP_PUBLIC=false to ensure setup links are time-limited and tied to the relevant room. This protects access to the setup page, while RustDesk relay security must still be configured separately.