i cam across these issues beforehand in oracle. i am sure the problem was with networking as the docker networks were not able to see each other? i do not know for sure, but when i tried installing npm as a docker container in oracle cloud, it worked. but when i tried the reverse proxies, it did not contact the internal ip well. i fixed it since docker took over the internal firewall of iptables, so it works, but now i had the same issue with digital ocean.
my fix was essentially to ensure whatever service i want behind my reverse proxy was on the same network as it. both internal and external networks are the same. from there i added an ssl certificate using a dns01 challenge, and it generated just fine. i explain this more in my npm archive page. then i went into my domain registrar dns settings and added an a record. also in npm, you have to create a proxy host, be sure to add the correct fqdn, local ip address, port, and force ssl with the certificate.
mainly, you also after to ensure that npm is accepting all connections on http and https. this is easily done though the firewall in digital ocean, set the inbound to accept http and https from all. from there you can test by typing in the public ip address of your vps. you should get a nice ‘congratulations’ screen. you can change this in the npm settings to not display this.
once you do all of this, your services should be up and running. i ran into dns issues and the web server did not pop up on my main station, but when i used my phone or any other device, it worked. so be aware that dns can cause issues, so just let it propagate properly.
this is specifically written because i was testing digital ocean droplets and decided to install docker stacks to test web services. i installed remotely and it worked just fine since the vps is based on amd64. which is nice since i can have a cloud solution to remote support tools. i tried this on my oracle machine and it failed as it does not currently support arm64.
to note as well, remotely does not like cloudflare proxy that well. there is documentation to fix this, but i have not been able to figure it out to work with cloudflare’s proxy network. i assume it has to deal with the changing proxy address which affect how remotely interfaces with the end user and server. so for now, i have it behind a reverse proxy and it has been working just fine. i do not like how it exposes my public ip address, but i will find a way to mitigate this, one way or another.
i have tried the other solutions like meshcentral, rustdesk, apache guacamole, and others. remotely just has what i am looking for, and it works well for what it is. i just wished that documentation was a bit more clear when hosting it locally, but putting it behind cloudflare’s proxy network. mainly this part of hosting was a solution to assist potential clients and end users remotely. all while staying free.99.