App Submission: RustDesk Server -> extends #2169 with additional changes
App Submission
RustDesk Server
...
Icon
...
Gallery images
I have tested my app on:
- [ ] umbrelOS on a Raspberry Pi
- [X] umbrelOS on an Umbrel Home
- [X] umbrelOS on Linux VM
This pull request extends the changes from @Knufle in PR #2169 with additional modifications.
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 any update on this? :-)
@dennysubke any update on this? :-)
Thanks for the reminder. I'll check it out tonight. 💪
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.
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.
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?
Fantastic! 🥇
⚠️ 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. |
Hey @dennysubke! Thanks for all the effort here, really glad we can finally release this one! 🚀
Merge complete, huge thanks for the teamwork! 👏
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.
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.
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.
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.