I’ve been evaluating ShinyProxy primarily as a way of hosting pyshiny applications. But discovering that you also support other web frameworks like gradio got me thinking it would be nice to use ShinyProxy for those as well.
The issue is most of them are docker compose
based with multiple containers, i.e. one has a streamlit web server, a postgres backend and a celery task executor.
Is it possible to configure an app
that uses multiple containers using a docker network per app for isolation? Alternatively is it possible to create shared containers that are started when the server starts (i.e. postgres, celery, redis etc)
Hi, nice to hear you are exploring ShinyProxy!
ShinyProxy only supports a single container (image) per app. The idea is that either everything is packaged into a single container, or you host your database and task executor separately. This still allows to access the “front-end” of your app through ShinyProxy, so that it’s in the same portal as all your other apps. And of course you still have the other benefits of authentication, monitoring etc.
Since version 3.1.0, ShinyProxy can host multiple users on a single container, this is quite useful for python apps, see Configuration | ShinyProxy
We are looking into ways to have a module or feature in ShinyProxy that allows for long running containers that provide some API or backend (e.g. database). Feel free to reach out if you are interested in this and want to discuss this.