deploy shiny app on windows server or Linux - r

I have developed some shiny apps and search for a proper way to host the app. As far as I know, there may be several ways to do it:
1. shiny-server
2. Rstudio connect
3. shinyapps.io
4. shinyproxy + Docker
I get a windows server(2016) but I find that the above host way need to work on the linux, I have tried shinyproxy but it seems not work for my windows server.
Then I find a simpler way:
app <- shinyApp(ui, server)
runApp(app, launch.browser=FALSE, host = "0.0.0.0", port = 1234)
then I can visit the app via <my-server-ip>:1234
It is really straightforward and simple, I have tested it can support multi users, and I can open new R and Rstudio session to run other scripts.
I have still considering if there is any disadvantage for this method? since we also have Linux servers, we are considering if we need to host the app on linux.

Related

Run Shiny App on Windows Server

I want to run a Shiny application on a Windows Server. The shiny application runs on Port 8080 and the traffic is routed through IIS. Everything works fine, but from time to time the application crashes. So far I've written a small R script which proofs whether the application is available and if not it restarts the Shiny app. The script is called by Task Scheduler. This solution is kind of messy and the Scheduler does not work as expected.
Are there any similar set-ups or are there any pre-defined solutions, such as the Shiny Server? (I'm not allowed to install a VM. Unfortuentaly, it must be a Windows-only solution.)

Run R Shiny App on Apache Server

I have a Shiny app that I would like to run on an existing Apache server. I am completely new to servers and don't have much idea of where to start. Unfortunately most of the resources I've found online have been about NGINX and not Apache.
I know something like this is possible, but I am not sure how to start. How can I get started with hosting my own Shiny app on an Apache server?
So you don't run a Shiny app on Apache, Shiny Apps must be run on a Shiny Server. You have several options for deploying a Shiny app to your website. The simplest approach is to publish your app to shinyapps.io then add an IFrame to your website that will display your deployed Shiny app.
Since you have asked about how to run a Shiny App on Apache, I assume you want to deploy your own Shiny Server, which can be deployed on the same machine as your Apache server or on a different machine. Instructions for doing this may be found here: https://www.rstudio.com/products/shiny/download-server/
Once you shiny server is installed you will need to publish your app there. This is accomplished by moving your r files to the appropriate location on your Shiny Server. For details see: http://docs.rstudio.com/shiny-server/#host-a-directory-of-applications-1
Once you have done this and have your app running on Shiny Server, you need to set up Apache(Nginx or another webserver) to act as a proxy to Shiny Server. Here is a link that walks you through the steps: https://support.rstudio.com/hc/en-us/articles/213733868-Running-Shiny-Server-with-a-Proxy
If you have not done this before and do not have experience with Linux or servers, I would expect it to take at least 4 hours.
Apache can't run Shiny.
Alternatively, I suggest a nice and clear tutorial about running the R web app (aka Shiny) using Google cloud. Google cloud offers 300 USD free credit to any new user that I think is good for begninners.
https://www.theorsociety.com/media/3832/data-visualisation-workshop-uploading-a-shiny-app-to-a-server-_14062018122240.pdf

Run shiny server through Rstudio

I have shiny servers running on ubuntu for some time, but I can`t make it work on debian, I found some tutorials on google, like this
http://mars.wiwi.hu-berlin.de/mediawiki/sk/index.php/Shiny
but none of them worked for me. In this same server my Rsudio server works and I can log in and run a shiny app in the browser, is there a way to share the web link to run shiny server through Rstudio?
You can distribute your shiny app on https://www.shinyapps.io/ and share it with others.
If you will really want to host your app with Rstudio-server, maybe this answer is helpful:
Publish Rstudio Shiny App in intranet

R Shiny - host your own apps?

How can I host my own R Shiny App instead of hosted it at https://www.shinyapps.io?
I run these lines below and my app is uploaded to the server above,
> library(shiny)
> library(shinyapps)
> setwd("C:/firstapp")
> deployApp()
but we have our own live server that support R, so can we do that?
ps. I follow this tutorial and get our app hosted at shinyapps.io but we prefer host it our own. Is it possible?
The deployApp() function only works with shinyapps.io. When running your own installation of shiny server, you will have to take care of deploying and managing your applications manually. This includes installing any required R packages.
To host your own shiny-server, you should get started by downloading shiny-server or shiny-server pro from here: http://www.rstudio.com/products/shiny/shiny-server/
Download and install the shiny server from RStudio:
http://www.rstudio.com/products/shiny/shiny-server/
obviously you'll need a machine to host it on if you don't want your desktop getting thrashed.
You need to set-up a shiny server on your personal server if you want to host outside from shinyapps.io
http://www.rstudio.com/products/shiny/shiny-server/

Can RStudio (IDE NOT server) be configured to use remote R setup?

I am transitioning my debian setup into one where all debian-repository external apps run in dedicated docker containers.
In this context rstudio, of which I am a heavy user, has me puzzled ... does anybody have insight into whether it's possible to run it as a client to remote R installation?
What is a very cool feature of RStudio is RStudio Server. You install RStudio Server on you Ubuntu server and log in to a specific port where RStudio Server is running. You then get your full RStudio interface in your web browser. This allows you to run all your R analyses from any computer that has a modern browser and an internet connection.
R then runs on the remote server, asking almost no resource from the computer you are connecting from.

Resources