Hi, I have an small app running on DO app platform https://www.frogletapps.com/
Its written in rshiny and setting it up on the app platform was reasonably easy.
The problem is it can only handle one user at a time as written. To overcome this there are probably numerous options, but I would like to use shinyproxy in the solution.
I can see how to set shinyproxy up on a droplet (including using the one-click setup option: https://marketplace.digitalocean.com/apps/shinyproxy), but is there a way to set it up on the app platform? If not, I will destroy the app and start building on droplet, but I do like the platform so it seems a shame.
My app is dockerised and on docker hub. Locally, and on a droplet, I can also run my app using shinyproxy dockerised following this setup. Where I struggle is how to set up the app platform environment to be able to do, among other commands, sudo docker network create sp-example-net
. There is nowhere to run build commands on my app, despite this being in some documentation. To set up this environment, prior to launching the server would need docker installed, network set up, shinyproxy jar file downloaded. And to run the app a run command doing sudo docker run -v /var/run/docker.sock:/var/run/docker.sock:ro --group-add $(getent group docker | cut -d: -f3) --net sp-example-net -p 8080:8080 myapp
Or perhaps there is a more straightforward way to run shinyproxy on the app platform?
I did also attempt, against best practice guidance, to build a docker within a docker, but that failed miserably.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
Hey!
Indeed, running ShinyProxy on DigitalOcean’s App Platform is not straightforward due to the platform’s constraints on running Docker commands and the need for privileged operations.
For example, you should not really create a Docker network within the App Platform itself as you already have an internal network that you can utilize:
Also, utilizing the underlying Docker engine and
docker.sock
would probably not be possible as you would essentially not have such high privileges on the platform itself.Have you tried to just run the ShinyProxy Docker image without passing those custom commands and just utilizing the internal App Platform routing? The setup on the App Platform will be more similar to the setup on a Kubernetes cluster rather than a stand-alone Docker engine host:
Alternatively, since you are already familiar with setting up ShinyProxy on a Droplet, this might be the most straightforward approach. You can use the one-click setup from the DigitalOcean Marketplace and configure your ShinyProxy to handle multiple users.
- Bobby