---
title: Windows & PM2 or NSSM
weight: 20
description: "Run RustDesk Server OSS on Windows with PM2 or NSSM. This guide explains the tradeoffs, service setup steps, and log commands for hosting hbbs and hbbr on Windows."
keywords: ["rustdesk server windows", "rustdesk pm2", "rustdesk nssm", "rustdesk hbbs windows", "rustdesk hbbr windows", "rustdesk self-host windows"]
---

Use this guide to run RustDesk Server OSS on Windows with either PM2 or NSSM, depending on whether you want a simpler user-level setup or Windows service management.

## Should you run RustDesk Server OSS on Windows?

You can run RustDesk Server OSS on Windows, but Linux is still the safer default for most production deployments. Windows can work for teams that already operate Windows Server and understand the service model, but it tends to be more fragile for long-term self-hosting.

## PM2 vs NSSM

| Method | Best for | Why you would use it |
| --- | --- | --- |
| NSSM | Dedicated Windows Server deployments | Runs as Windows services and starts without user login |
| PM2 | Mixed-use Windows machines or simpler operator workflows | Easier to manage if you already use Node.js and log into the host regularly |

## Windows self-hosting checklist

1. Download the RustDesk Server Windows binaries.
2. Decide whether NSSM or PM2 is the better fit.
3. Install the chosen process manager.
4. Register and start both `hbbs` and `hbbr`.
5. Open the required firewall ports and verify both processes stay online.

{{% notice note %}}
Windows security policy is tricky, if this tutorial does not work for you, or you encounter unstable connection, please migrate to a Linux server.
{{% /notice %}}

{{% notice note %}}
The GUI version, `RustDeskServer.setup.exe` has not been maintained any more, not recommended.
{{% /notice %}}

## A crossroads
You now either have two choices, you can either use PM2 (easier) or NSSM (a bit harder) to start the RustDesk server
There are some benefits to using NSSM:
- Backwards compatibility with older Windows (Windows Server 2008 R2/Windows 7 and earlier although untested).
- Ideal for Windows Server
- Auto start on boot without login (The user who created the startup entry does not need to log on for it to start).
- Running both binaries as Services.
- Standalone (no dependency on Node.js)

While the benefits of PM2 include:
- Good idea if you run the server on the same computer as your main work computer
- You logon regularly to the user that created the RustDesk startup entry
- More user friendly

## Installing using NSSM

### Installing NSSM
Please [download](https://github.com/dkxce/NSSM/releases/download/v2.25/NSSM_v2.25.zip) and extract NSSM select the appropriate
architecture to your Windows system (if x86 use the contents of the win32 folder, if x64 use the
contents of win64 folder). It is also best practice to move the binary of NSSM into the
`Program Files\NSSM` (NSSM once started as a service, it cannot be moved from the directory it was placed in.
thus it is best to tuck it away in `Program Files`) directory of your Installation drive (Usually the C: drive).
It is also advisable to add the path (such as `C:\Program Files\NSSM`) to the path variable.

### Checking if NSSM is installed properly
If you've done everything correctly the folder `C:\Program Files\NSSM` (in this example I use the C:
drive but you can use whatever drive you installed Windows to or whatever path you desire) should
only contain the file `nssm.exe`.

We will be using `C:\Program Files\NSSM` in this example.

Open Command prompt and run `nssm` if you see a help page you are ready to move onto the next step.

### Run hbbr and hbbs
Download the Windows version of [RustDesk Server](https://github.com/rustdesk/rustdesk-server/releases).
Unzip the program to the `C:\Program Files\RustDesk Server` (or anywhere you desire just make sure it
doesn't change after the service is installed). Now get back to Command prompt.

We will be using `C:\Program Files\RustDesk Server` in this example.
```cmd
nssm install "RustDesk hbbs service" "C:\Program Files\RustDesk Server\hbbs.exe"
nssm install "RustDesk hbbr service" "C:\Program Files\RustDesk Server\hbbr.exe"
```
**Note:**
- You can change `RustDesk hbbs service` to whatever you desire to name hbbs the service
- You can change `RustDesk hbbr service` to whatever you desire to name hbbr the service
- You can change `C:\Program Files\RustDesk Server\hbbs.exe` to wherever you placed the RustDesk binaries
- You can change `C:\Program Files\RustDesk Server\hbbr.exe` to wherever you placed the RustDesk binaries

**Command templates:**

The command template in case you just want to copy and paste and edit.

```cmd
nssm install <Desired hbbs servicename> <RustDesk hbbs binary path> <RustDesk hbbs arguments>
nssm install <Desired hbbr servicename> <RustDesk hbbr binary path> <RustDesk hbbr arguments>
```

**Start services**

After successful installation of services, they need to be started.
```cmd
nssm start <Desired hbbs servicename>
nssm start <Desired hbbr servicename>
```

**Done!**

(The method above has been tested on Windows Server Core 2022 Standard).

## or

## Installing using PM2

### Install Node.js

Please [download](https://nodejs.org/dist/v16.14.2/node-v16.14.2-x86.msi) and install Node.js.
Node.js is the runtime environment of PM2, so you need to install Node.js first.

### Install PM2

Enter belows in `cmd.exe`, press the <kbd>Enter</kbd> key for each line, and run them line by line.

```cmd
npm install -g pm2
npm install pm2-windows-startup -g
pm2-startup install
```

### Run hbbr and hbbs

Download the Windows version of [RustDesk Server](https://github.com/rustdesk/rustdesk-server/releases). Unzip the program to the C: drive. Run the following four commands:

```cmd
cd C:\rustdesk-server-windows-x64
pm2 start hbbs.exe
pm2 start hbbr.exe
pm2 save
```

### View the log

```cmd
pm2 log hbbr
pm2 log hbbs
```

## Alternative tutorials
https://pedja.supurovic.net/setting-up-self-hosted-rustdesk-server-on-windows/?lang=lat
