Self-hosted · AGPL-3.0
A real console for your self-hosted RustDesk server.
The open-source RustDesk server brokers and relays connections, but ships no management interface. CortenDesk is that interface: your fleet, who can reach what, the policies pushed to each machine, and a record of every session.
docker pull ghcr.io/marcpope/cortendeskNo paid tierNo patched clientYour data, your server
What it is
A management layer, not another server
CortenDesk runs alongside hbbs and hbbr and never replaces
them. Sessions still go peer-to-peer through your RustDesk server; the console handles
everything around them.
The essentials
What you get
Your fleet
Live presence, aliases, folders, ownership, pre-registration and a recycle bin — every machine pointed at the console.
Scoped access
People see only their own devices plus the groups granted to them. Enforced in the console and in the client API alike.
Device policies
Push client settings over the heartbeat — permissions, security, capture. Optionally re-applied, so local changes revert.
Audit trail
Connections, file transfers, sign-ins and security alarms, filterable and exportable, with retention you control.
Fleet
Every machine, and who owns it
Devices register themselves on their first heartbeat. Group them into folders per site or customer, assign an owner, and access follows from there.
- Online presence within one heartbeat
- Pre-register a machine before it is imaged
- Optional approval gate for unknown devices
- Soft delete, so a removed device cannot reappear
Policy
Settings you set once
A strategy is a set of client options pushed to devices on their next heartbeat. Assign it to a device, a user or a whole folder — the most specific assignment wins.
- Permissions, security rules, capture behaviour
- Leave an option unmanaged and the device keeps what it has
- Enforce it, and a change made on the device is undone
Not an afterthought
The parts you only notice when they are missing
Single sign-on
OpenID Connect for the console and for RustDesk clients. Keycloak, Authentik, Entra ID, Okta, Google Workspace or any compliant provider.
Two-factor
TOTP with single-use recovery codes, optionally required for everyone or for administrators only.
Delegated admin
Roles with a permission matrix per console area, so someone can run the users screen without running everything.
Automation API
Scoped bearer tokens over a REST API, plus the client's --assign flag for unattended rollout.
Address books
Shared books with per-book sharing rules and coloured tags. Both the modern and legacy client APIs.
Runs on a phone
Every screen works at 390 px. Wide tables become card lists. Dark and light themes.
Run it in about a minute
One container, or Compose with MySQL. It needs a RustDesk server you already run, and three values from it.