Self-Hosted

Run the signaling and relay servers on your own infrastructure. No traffic leaves your network unless you allow it.

Your data, your control

IDs, session metadata and relay traffic stay on servers you own.

Two small services

A Node.js signaling server plus a coturn TURN server. Both run comfortably on a 1 vCPU VPS.

Same clients

Point the desktop and mobile apps at your server URL - no separate build required.

Quick start

On a fresh Ubuntu server with Node.js 18+ installed:

# 1. signaling server
git clone https://example.com/remotedesk.git
cd remotedesk/server
npm install
node signaling.js        # listens on :8080

# 2. TURN relay (coturn)
sudo apt install coturn
sudo nano /etc/turnserver.conf
sudo systemctl enable --now coturn

# 3. point the client at your server
#    Settings -> Server URL
wss://signal.example.com

Ports to open

ServicePortProtocol
Signaling (WebSocket)443TCP / TLS
TURN3478TCP + UDP
TURN relay range49152-65535UDP

Recommended setup

  • Terminate TLS with nginx or Caddy in front of the signaling server.
  • Keep the process alive with systemd or PM2.
  • Use long-lived TURN credentials rotated by your own script.
  • Restrict the signaling server to your VPN if the clients are internal only.

Ready to get started?

Download RemoteDesk and connect your first device in under a minute.

⇩ Download RemoteDesk