tutorial publicar plan learning examples app r web-hosting shiny shiny-server

publicar - shiny app r tutorial



Alojando y configurando propias aplicaciones brillantes sin servidor brillante (3)

Estoy tratando de hacer que las aplicaciones brillantes estén disponibles para mis compañeros de trabajo sin que tengan que ejecutar o incluso tener R instalado.

Así que leí esta página web y encontré esta frase:

Si está familiarizado con el alojamiento web o tiene acceso a un departamento de TI, puede alojar sus aplicaciones Shiny usted mismo.

en la sección '' Compartir como página web ''.

Me preguntaba si alguien me puede indicar alguna ayuda con respecto a este tema. Como requisitos mínimos (o incluso un tutorial). El problema es que mi empresa está sujeta a ciertas restricciones relacionadas con el alojamiento web y la seguridad, y así sucesivamente, y no pagará (por ahora) un brillante servidor-profesional.

Pero la oración anterior me da la esperanza de establecer algo nosotros mismos para convencerlos.


Compartir aplicaciones en la LAN de esta manera es genial, pero es un truco. Lo intenté con algunos compañeros de trabajo, y funciona, pero es más un truco de oficina que una solución sostenible.

Acabo de terminar de desarrollar el paquete RInno para este problema exacto, es decir, cuando una empresa no paga por Shiny Server o hay problemas de seguridad con los servicios en la nube.

Para empezar:

install.packages("RInno") require(RInno) RInno::install_inno()

Entonces solo necesita llamar a dos funciones para crear un marco de instalación:

create_app(app_name = "myapp", app_dir = "path/to/myapp") compile_iss()

Si desea incluir R para sus compañeros de trabajo que no lo tienen instalado, agregue include_R = TRUE para create_app :

create_app(app_name = "myapp", app_dir = "path/to/myapp", include_R = TRUE)

Por defecto incluye brillos, magrittr y jsonlite, por lo que si está utilizando otros paquetes como ggplot2 o plotly, simplemente agréguelos al argumento pkgs . También puede incluir paquetes de GitHub en el argumento de los remotes :

create_app( app_name = "myapp", app_dir = "path/to/myapp" pkgs = c("shiny", "jsonlite", "magrittr", "plotly", "ggplot2"), remotes = c("talgalili/installr", "daattali/shinyjs"))

Si está interesado en otras características, consulte RInno


Recientemente instalé Shiny en un servidor Centos 7 Linux OS que tenemos localmente. Usamos la guía a continuación en su mayor parte. https://www.vultr.com/docs/how-to-install-shiny-server-on-centos-7

No dude en hacer cualquier pregunta sobre los problemas de configuración aquí para que cualquier otra persona que use la guía pueda ver las respuestas.

También buscamos impulsarlo en un servidor AWS, optamos por el nuestro ya que el contenido es confidencial. De lo contrario, ambas soluciones se veían similares. El sistema Linux y Shiny son livianos, ¡es posible que puedas ejecutarlo en el servidor gratuito de Amazon!


Si su PC y las PC de sus compañeros de trabajo pertenecen a la misma LAN, esto es bastante fácil de lograr. Simplemente ejecute su aplicación a través de:

runApp(host="0.0.0.0",port=5050)

El valor establecido a través del argumento de host dice que acepta cualquier conexión (no solo desde el host local). El argumento de port puede asumir cualquier valor que desee (solo asegúrese de evitar seleccionar los puertos utilizados por otros servicios como ssh o http ). Luego, tome nota de su IP local (si está bajo Linux, puede verlo a través de ifconfig ). Digamos que su IP es 192.168.1.70 . Sus colegas pueden usar su aplicación insertando en la barra de direcciones de su navegador 192.168.1.70:5050 , es decir, su IP seguida de : y el número de puerto que seleccionó.

Si desea acceder desde fuera de su LAN, puede dirigir su enrutador a su PC cuando alguien se conecta a su IP pública a través del puerto 5050.