shinyapps.io: hosting 2 apps that depend on each other

Hello,

I work at a company which currently hosts Shiny apps on its local server.
Through this local server, I have access to the hosting folders (file station) of the apps, and to the Docker application which enables the execution of the Shiny applications.

Currently the apps are not available via HTTPs protocol, and I would like to explore the possibility to host these apps on shinyapps.io.

There are 2 applications : one "admin" and one "dashboard"

  • admin: is nly accessible to the company (with id / password), defines the content of the "dashboard" app (available data, plots, etc.)
  • dashboard: accessible to the company and to potential external users (with id / password), and displays the content set by the admin app.

Both of these apps rely on the same local database and files that store the data needed to make the dashboard app work. The admin app sets the data and the dashboard app only reads it (does not modify it).

Here is my question : is it possible to host both these apps on shinyapps.io ? In chapter 3 of shinyapps io user guide, it is written that:

it is possible to have more than one instance of an application. This means that multiple instances of an application do not share a local filesystem. **A file written to one instance will not be available to any other instance.

Does this mean that 2 apps cannot have access to the same local data ?
If so, what other options could be available to secure these apps with HTTPs ? I have looked up a bit nginx but I have very little knowledge of setting up servers and such.

Thank you very much for your availability.

Jules

I think you will want to inspect the Shiny - Persistent data storage in Shiny apps article on Shiny site.

keep in mind that if your Shiny app is hosted on shinyapps.io, you will have to use a remote storage method for the time being.

If by "local database", you mean a sqlLite db file or set of files associated with that app, I'm not aware of a way for one app on shinyapps.io to talk to another's filesystem. You'd instead likely want a single remote storage option (discussed here Local vs remote storage) that all those apps can talk to.

I hope you're also aware of RStudio Connect, which is a piece of software RStudio sells to host all sorts of data artifacts, include Shiny apps. It has all sorts of tools to help manage your Shiny app hosting, database, and authentication needs. (Full disclosure, I work at RStudio).