In my first post on the topic, I’ve given an introduction to ‘Remotely‘, an open source and self-hostable remote support solution for Windows and Linux. I came away quite impressed but noted that in my virtualized setup, the connection to a supported device was often interrupted due to unknown reasons. Also, I hadn’t yet tried to run the dockerized Remotely server behind a reverse proxy, which would be a nice thing to have to benefit from https encryption and automatic Letsencrypt certificate updates. Since then, I had the time to work on my setup some more, and here are the results.
When using a physical Windows 10 notebook as a device with a GUI to be remotely controlled instead of a virtual Windows 10 instance, I was happy to see that the frequent disconnects did not occur anymore. For my tests, I connected the Windows 10 notebook over a Wifi hotspot of a smartphone to the Internet, while my ‘controlling’ notebook was connected over my DSL line. In other words, just the scenario I had in mind for which I needed a solution.
After verifying stability, the final step in checking out the software was to see if the Docker container would run behind my preferred nginx reverse proxy system. So far, I was running my remotely instance as a docker container on port 5000 without https encryption. To make it work behind my reverse proxy only required a few additional lines in Remotely’s docker-compose.yml file and creating a domain name for it on the DNS server. 5 minutes of work was all it took and Remotely was up and running behind the reverse proxy with a nice domain name and encryption. I then ran a remotely connection for several hours to check stability again and everything checked out fine.
As Remotely only requires about 150 MB of RAM on the server, I decided to put the container into production on the small VM that already hosts the Docker containers for this blog and three other Internet facing services. From the 2 GB of available RAM, 1.1 GB is now used by the 11 containers running on the server. In other words, there’s still a bit of headroom left, but one should probably not push the system much further. On the other hand, one could experiment a bit with adding swap space. But since these services are mission critical, I might think twice about this. After all, running 5 projects and a reverse proxy on a VM that costs 3 euros a month is already quite cost effective.
Thanks again to Jared Goodwin at this point for developing and evolving Remotely, I’m very much looking forward to using it now and become independent of proprietary and centralized solutions!