Sharing shiny apps with others

Hi,
I actually wanted to know how to share the shiny apps with others. I have the workflow as follows:

  1. Download the data from an external application (this data will get updated. Hence, I have to download it daily).
  2. The data is manipulated/edited for making the dashboard.
  3. Once the dashboard is ready, it has to be shared with others.
    But a major constraint here is how to update the data and the process is automated so that the others can see the updated dashboard. Is this possible?

Can you be a little more specific about your question? It is too generic, there are too many deployment patterns to list them all and very likely most of them will not be relevant for you.

For example, I already gave you a generic answer about your data update issue on your previous topic

If you need more specific help, you need to provide a reproducible example

1 Like

I have seen about shiny servers in internet. I want to learn how to operationalize it in step-by-step guide.

Again, you have to be more specific, do you mean you have a server at your disposal and you want to learn how to install the shiny-server service on it?

If so, it is as simple as downloading the installer and executing it. You can find OS specific instructions here:

Have in mind that open source shiny-server has several limitations, the most important one is that all of your app users share the same R process, so this is only suitable for small scale deployments with just a few concurrent users.

No actually I don't have server at my disposal. I need to start from scratch. I will go through the resource you have sent. Thanks a lot..

Can you more clearly state your goals and resources? It is hard to give you any specific advice if we don't know the constraints and specific objectives.

Do you want to share your app within your local network or through the internet? How many concurrent users are you expecting? Do you only need to host the app itself or do you also need additional support services like a database or ETL processes? Are you planning to host your app locally or in the cloud? If locally, do you have access to a Linux machine that can be let constantly running? If you want to host in the cloud, do you know how to containerize a shiny app so it can be deployed with a PaaS provider?

I want to share it through the internet. Third party has to use it. About 5-6 users are there. I need to host the app and the app must get updated with data getting uploaded. It would be better if I can host in the cloud.

Since you also need to be able to schedule data updates I think a virtual server would be a good option for you, there are many cloud computing providers like AWS, Google Cloud Computing, Digital Ocean, etc.

Here is a nice guide that explains how to configure a virtual server on Digital Ocean, but, apart from the provisioning, the rest of the process would be the same with other providers:

Since you don't have too many users, a simple shiny-server instance might work but since all concurrent users share the same R process, you have to be careful with the scoping rules in your app.

I think you should experiment with this, and if performance is not good enough, look into using containers with shinyproxy, and increasing the core count of your virtual server.

Another option that could be easier to manage would be hosting your app on shinyapps.io and using a virtual server to handle the data updates.

Thank you very much for the suggestions..

Regards,
Nithin