How to make an app available on the internet?

Hi, I am an absolute beginner to ShinyProxy and very thankful to the creators. I used google compute engine to create a server (also new to me) and then followed the getting started instructions for pulling the example shiny docker image.

Then running the following in the terminal shows me the app at http://localhost:8080/app/01_hello:

java -jar shinyproxy-3.2.2.jar
gcloud compute ssh instance_name \
  --project=project_id \
  --zone=zone_name \
  -- -L 8080:localhost:8080

This is using SSH tunneling to allow me to view the app locally. How do I make this app public? Also, I read in the docs that a separate container is created when new users visit the app, how can I do a load test to see if the app is handling concurrent users?

Hi

Thanks for you interest! I’m not super experienced with google cloud, but I believe you have two options:

  • use a cloud server which has a public IP address. You then need to setup DNS records which point to this public IP address.
  • use a cloud loadbalancer (and a cloud server with a private IP adddress). This is more advanced, but this is also the “correct” way in a cloud environment.

To make it as easy as possible, I’d start with a server with a public IP. You can use the ShinyProxy operator, which helps in configuring a reverse proxy and TLS.