An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.

services:
  hbbs:
    image: rustdesk/rustdesk-server:latest
    container_name: rustdesk-hbbs
    command: hbbs
    volumes:
      - ./rustdesk/data:/root
    ports:
      - "21115:21115"
      - "21116:21116/tcp"
      - "21116:21116/udp"
      - "21118:21118"
    depends_on:
      - hbbr
    restart: unless-stopped
 
  hbbr:
    image: rustdesk/rustdesk-server:latest
    container_name: rustdesk-hbbr
    command: hbbr
    volumes:
      - ./rustdesk/data:/root
    ports:
      - "21117:21117"
      - "21119:21119"
    restart: unless-stopped

After starting, get the key from the rustdesk-hbbs container using docker logs rustdesk-hbbs | grep Key

$ docker logs rustdesk-hbbs | grep Key
[2025-07-19 23:14:01.776811 +00:00] INFO [src/rendezvous_server.rs:1205] Key: jKFkhq5sYLjBR0E7cAZ5iKjKlYA6ZQ=

Get the key to setup your first client. See Relay Server in Rustdesk for a step by step guide on how to setup the Rustdesk client

The Key in this example is jKFkhq5sYLjBR0E7cAZ5iKjKlYA6ZQ=

Official Docs

github.com/rustdesk/rustdesk-server