Question

Is running shinyproxy on app platform possible?

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.


Submit an answer


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!

Sign In or Sign Up to Answer

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.

Bobby Iliev
Site Moderator
Site Moderator badge
July 26, 2024

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:

https://docs.digitalocean.com/products/app-platform/how-to/manage-internal-routing/

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:

https://github.com/openanalytics/shinyproxy-config-examples/blob/master/03-containerized-kubernetes/README.md

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

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Become a contributor for community

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

DigitalOcean Documentation

Full documentation for every DigitalOcean product.

Resources for startups and SMBs

The Wave has everything you need to know about building a business, from raising funding to marketing your product.

Get our newsletter

Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.

New accounts only. By submitting your email you agree to our Privacy Policy

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.