Skip to content

Add Rustdesk module #266

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 50 commits into
base: main
Choose a base branch
from
Open

Conversation

BenraouaneSoufiane
Copy link

@BenraouaneSoufiane BenraouaneSoufiane commented Jul 30, 2025

Closes #79

Description

This PR add new module, install minimal desktop environment (xfce), virtual display, ,rustdesk package from deb file, init new screen, export DISPLAY environment variable with last created virtual screen, start new xfce session & execute the rustdesk cli, generate new password, change the default password, then log the ID & password to be used within rustdesk client to connect to the host

Type of Change

  • New module
  • Bug fix
  • Feature/enhancement
  • Documentation
  • Other

Module Information

Overview/test video: live demo that launch rustdesk with GUI in a docker container https://youtu.be/_rR-l7nARN4
Screenshots:
image
image
image
image

Path: registry/BenraouaneSoufiane/modules/rustdesk
New version: v1.0.0
Breaking change: [ ] Yes [x] No

Testing & Validation

  • Tests pass (bun test)
  • Code formatted (bun run fmt)
  • Changes tested locally

Related Issues

/claim #79 (remain asset 150$)

@BenraouaneSoufiane
Copy link
Author

@matifali can you release the pending asset (150$)?

@DevelopmentCats
Copy link
Contributor

@matifali can you release the pending asset (150$)?

This is released automatically once the PR is merged and closed

@BenraouaneSoufiane
Copy link
Author

@matifali can you release the pending asset (150$)?

This is released automatically once the PR is merged and closed

No comment! But why I'm being delayed as this PR resolve the issue?

@DevelopmentCats
Copy link
Contributor

@matifali can you release the pending asset (150$)?

This is released automatically once the PR is merged and closed

No comment! But why I'm being delayed as this PR resolve the issue?

There is no intentional delay, as Algora releases the bounty once the PR is approved, and merged.

This is outlined in the Coder Bounty Issue #213

@DevelopmentCats
Copy link
Contributor

@BenraouaneSoufiane Just checking if there is any update on this?

@BenraouaneSoufiane
Copy link
Author

@BenraouaneSoufiane Just checking if there is any update on this?

Fixed, thank you!

Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a new RustDesk module that enables remote desktop access within Coder workspaces. The module automates the installation of RustDesk, sets up a virtual display using Xvfb, and provides connection credentials for remote access.

Key changes:

  • Adds a complete RustDesk module with cross-platform package manager support
  • Implements automatic password generation and virtual display configuration
  • Provides Terraform integration with configurable parameters

Reviewed Changes

Copilot reviewed 4 out of 6 changed files in this pull request and generated 5 comments.

File Description
registry/BenraouaneSoufiane/modules/rustdesk/run.sh Main installation and setup script with package manager detection and RustDesk configuration
registry/BenraouaneSoufiane/modules/rustdesk/main.tf Terraform module definition with variables and Coder resource configuration
registry/BenraouaneSoufiane/modules/rustdesk/README.md Module documentation with usage instructions and configuration examples
registry/BenraouaneSoufiane/README.md Author profile information

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Copy link
Author

@BenraouaneSoufiane BenraouaneSoufiane left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DevelopmentCats Everything looks good, but still couldn't figure out what are changes requested by you

@BenraouaneSoufiane
Copy link
Author

@DevelopmentCats I got changes requested but i couldn't see them, can you outline them?

@DevelopmentCats
Copy link
Contributor

I was running this module to test it last night, and I was having issues but could not see them because the module wasn't properly logging in way that the workspace build would include it.

I made some changes so that it would do so and it seemed like the issue was with xvfb stalling and the workspace build would never complete for me, after following the guidance provided in the README. I will mess with it a bit more this morning to see what the problem that we are having now is.

@BenraouaneSoufiane
Copy link
Author

BenraouaneSoufiane commented Aug 15, 2025

I was running this module to test it last night, and I was having issues but could not see them because the module wasn't properly logging in way that the workspace build would include it.

I made some changes so that it would do so and it seemed like the issue was with xvfb stalling and the workspace build would never complete for me, after following the guidance provided in the README. I will mess with it a bit more this morning to see what the problem that we are having now is.

As initital review, it requires coder' server to be run as root then you should incorporate this in the template: user = "root" , also after editing the run.sh, please note that this command

sudo rustdesk --password "${RUSTDESK_PASSWORD}" >> "${LOG_PATH}" 2>&1 || true 

could works only for exisiting rustdesk process/instance, so it should be other command before it, which were removed now
please note that this module specially requires a root scope because it shares everything, the command --password works only with root user

@BenraouaneSoufiane
Copy link
Author

@DevelopmentCats Hello again, I just fix the build/script exit:
https://youtu.be/Tbpl6HTJjtU

@BenraouaneSoufiane
Copy link
Author

@DevelopmentCats Hello again, in fact all the workflow checks were passed, after your last two commits, looking to hear from you (if not busy of course)

@BenraouaneSoufiane
Copy link
Author

@DevelopmentCats then what's next?

@DevelopmentCats
Copy link
Contributor

DevelopmentCats commented Aug 21, 2025

@BenraouaneSoufiane I think this module is pretty much good to go now. Let me pull it into my deployment and test it one more time to make sure all the features work as expected and then we should be good to merge this. Sorry for the delay on this, and thank you for being patient!

@BenraouaneSoufiane
Copy link
Author

@BenraouaneSoufiane I think this module is pretty much good to go now. Let me pull it into my deployment and test it one more time to make sure all the features work as expected and then we should be good to merge this. Sorry for the delay on this, and thank you for being patient!

Good news, in fact I know you're busy!

@BenraouaneSoufiane
Copy link
Author

@DevelopmentCats Hello again, thank you for you latest commits, I've checked the new version it works fine, https://youtu.be/YAMjDqFsV4I

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

rustdesk module
2 participants