umbrel-apps icon indicating copy to clipboard operation
umbrel-apps copied to clipboard

App Submission: RustDesk Server -> extends #2169 with additional changes

Open dennysubke opened this issue 9 months ago • 2 comments

App Submission

RustDesk Server

...

Icon

logo

...

Gallery images

1

2

3

I have tested my app on:

  • [ ] umbrelOS on a Raspberry Pi
  • [X] umbrelOS on an Umbrel Home
  • [X] umbrelOS on Linux VM

dennysubke avatar Mar 26 '25 14:03 dennysubke

This pull request extends the changes from @Knufle in PR #2169 with additional modifications.

dennysubke avatar Mar 26 '25 14:03 dennysubke

Hey @al-lac!

Thanks so much for the feedback! I'll go ahead and accept the changes so I can test it out.

Regarding the RustDesk connection, I haven't been able to fully test it yet, but I'll take a look at the error you're seeing in the next few days.

Thanks again for your help! 👍

dennysubke avatar Apr 10 '25 11:04 dennysubke

@dennysubke any update on this? :-)

al-lac avatar Apr 23 '25 11:04 al-lac

@dennysubke any update on this? :-)

Thanks for the reminder. I'll check it out tonight. 💪

dennysubke avatar Apr 23 '25 12:04 dennysubke

Hey @al-lac!

thanks a lot for your efforts and the work you’ve already put into this! 💪

I was able to test your changes. Unfortunately, the script doesn’t show the key as expected.

grafik

Maybe I messed something up when copying and pasting. 😫

However, I was able to successfully establish a connection to the RustDesk server. To make it work, the port needs to be changed from 21115 to 21116.

ok

FYI: RustDesk uses port 21116, both in TCP and UDP. 21115 is used for NAT type testing, and port 21117 is used for relay services. 21116 is responsible for ID registration, heartbeat, TCP hole-punching, and the connection service.

Would you mind taking another look at the code and making adjustments if necessary?

dennysubke avatar Apr 23 '25 20:04 dennysubke

Fantastic! 🥇

dennysubke avatar Apr 24 '25 08:04 dennysubke

⚠️   Linting finished with 1 warning   ⚠️

Thank you for your submission! This is an automated linter that checks for common issues in pull requests to the Umbrel App Store.

Please review the linting results below and make any necessary changes to your submission.

Linting Results

Severity File Description
ℹ️ rustdesk-server/docker-compose.yml External port mapping "21115:21115":
Port mappings may be unnecessary for the app to function correctly. Docker's internal DNS resolves container names to IP addresses within the same network. External access to the web interface is handled by the app_proxy container. Port mappings are only needed if external access is required to a port not proxied by the app_proxy, or if an app needs to expose multiple ports for its functionality (e.g., DHCP, DNS, P2P, etc.).
ℹ️ rustdesk-server/docker-compose.yml External port mapping "21116:21116":
Port mappings may be unnecessary for the app to function correctly. Docker's internal DNS resolves container names to IP addresses within the same network. External access to the web interface is handled by the app_proxy container. Port mappings are only needed if external access is required to a port not proxied by the app_proxy, or if an app needs to expose multiple ports for its functionality (e.g., DHCP, DNS, P2P, etc.).
ℹ️ rustdesk-server/docker-compose.yml External port mapping "21116:21116/udp":
Port mappings may be unnecessary for the app to function correctly. Docker's internal DNS resolves container names to IP addresses within the same network. External access to the web interface is handled by the app_proxy container. Port mappings are only needed if external access is required to a port not proxied by the app_proxy, or if an app needs to expose multiple ports for its functionality (e.g., DHCP, DNS, P2P, etc.).
ℹ️ rustdesk-server/docker-compose.yml External port mapping "21118:21118":
Port mappings may be unnecessary for the app to function correctly. Docker's internal DNS resolves container names to IP addresses within the same network. External access to the web interface is handled by the app_proxy container. Port mappings are only needed if external access is required to a port not proxied by the app_proxy, or if an app needs to expose multiple ports for its functionality (e.g., DHCP, DNS, P2P, etc.).
ℹ️ rustdesk-server/docker-compose.yml External port mapping "21117:21117":
Port mappings may be unnecessary for the app to function correctly. Docker's internal DNS resolves container names to IP addresses within the same network. External access to the web interface is handled by the app_proxy container. Port mappings are only needed if external access is required to a port not proxied by the app_proxy, or if an app needs to expose multiple ports for its functionality (e.g., DHCP, DNS, P2P, etc.).
ℹ️ rustdesk-server/docker-compose.yml External port mapping "21119:21119":
Port mappings may be unnecessary for the app to function correctly. Docker's internal DNS resolves container names to IP addresses within the same network. External access to the web interface is handled by the app_proxy container. Port mappings are only needed if external access is required to a port not proxied by the app_proxy, or if an app needs to expose multiple ports for its functionality (e.g., DHCP, DNS, P2P, etc.).
ℹ️ rustdesk-server/docker-compose.yml Potentially using unsafe user in service "hbbs":
The default container user "root" can lead to security vulnerabilities. If you are using the root user, please try to specify a different user (e.g. "1000:1000") in the compose file or try to set the UID/PUID and GID/PGID environment variables to 1000.
ℹ️ rustdesk-server/docker-compose.yml Potentially using unsafe user in service "hbbr":
The default container user "root" can lead to security vulnerabilities. If you are using the root user, please try to specify a different user (e.g. "1000:1000") in the compose file or try to set the UID/PUID and GID/PGID environment variables to 1000.
ℹ️ rustdesk-server/docker-compose.yml Potentially using unsafe user in service "web":
The default container user "root" can lead to security vulnerabilities. If you are using the root user, please try to specify a different user (e.g. "1000:1000") in the compose file or try to set the UID/PUID and GID/PGID environment variables to 1000.
ℹ️ rustdesk-server/docker-compose.yml Service "hbbs" uses host network mode:
The host network mode can lead to security vulnerabilities. If possible please use the default bridge network mode and expose the necessary ports.
ℹ️ rustdesk-server/docker-compose.yml Service "hbbr" uses host network mode:
The host network mode can lead to security vulnerabilities. If possible please use the default bridge network mode and expose the necessary ports.
⚠️ rustdesk-server/umbrel-app.yml "icon" and "gallery" needs to be empty for new app submissions:
The "icon" and "gallery" fields must be empty for new app submissions as it is being created by the Umbrel team.

Legend

Symbol Description
Error: This must be resolved before this PR can be merged.
⚠️ Warning: This is highly encouraged to be resolved, but is not strictly mandatory.
ℹ️ Info: This is just for your information.

github-actions[bot] avatar May 09 '25 07:05 github-actions[bot]

Hey @dennysubke! Thanks for all the effort here, really glad we can finally release this one! 🚀

CleanShot 2025-05-09 at 09 31 05

al-lac avatar May 09 '25 07:05 al-lac

Merge complete, huge thanks for the teamwork! 👏

dennysubke avatar May 09 '25 21:05 dennysubke

I cannot manage to connect from any client, not even in local network.

Do I have to do extra steps about of the steps defined in the webserver? Anything extra in the router?

Thanks.

emtreulapollaguera avatar May 20 '25 19:05 emtreulapollaguera

Hey @emtreulapollaguera, what url / ip and port combination did you use to connect to the instance?

To use it from outside of the network you would of course need to do port-forwarding on your router or use something like tailscale.

al-lac avatar May 20 '25 23:05 al-lac

EDITED: umbrel.local:21080 is the web interface (not sure why).

I have tried with 21116 as described in the steps, no success. Alternatively, I have tried with 21080 and it works.

emtreulapollaguera avatar May 22 '25 20:05 emtreulapollaguera

The webui on port 21080 is just a static page to show the guide.

You need to configure your clients with port 21116 like it is explained there.

So set the ID Server to umbrel.local:21116, add the key and you should be fine.

al-lac avatar May 22 '25 20:05 al-lac