Ich versuche, meinen Mitarbeitern glänzende Apps zur Verfügung zu stellen, ohne dass sie ausgeführt werden müssen oder sogar R installiert haben.
Also habe ich diese Webseite gelesen und diesen Satz gefunden:
Wenn Sie mit Webhosting vertraut sind oder Zugriff auf eine IT-Abteilung haben, können Sie Ihre Shiny-Apps selbst hosten.
unter dem Abschnitt " Als Webseite freigeben".
Wie kann ich das machen?
Das Problem ist, dass mein Unternehmen an bestimmte Einschränkungen in Bezug auf Webhosting und Sicherheit usw. gebunden ist und (vorerst) nicht für einen Shiny-Server-Pro bezahlt.
Aber der obige Satz gibt mir Hoffnung, selbst etwas einzurichten, um sie zu überzeugen.
r
web-hosting
shiny
shiny-server
schlusie
quelle
quelle
Antworten:
Wenn Ihr PC und die PCs Ihrer Mitarbeiter zum selben LAN gehören, ist dies ziemlich einfach zu erreichen. Führen Sie einfach Ihre App durch:
Der durch das
host
Argument festgelegte Wert besagt, dass jede Verbindung akzeptiert werden soll (nicht nur von localhost). Dasport
Argument kann einen beliebigen Wert annehmen (stellen Sie nur sicher, dass keine Ports ausgewählt werden, die von anderen Diensten wiessh
oder verwendet werdenhttp
). Notieren Sie sich dann Ihre lokale IP (wenn Sie unter Linux arbeiten, können Sie diese durchschauenifconfig
). Angenommen, Ihre IP ist192.168.1.70
. Ihre Kollegen können Ihre App verwenden, indem Sie sie in die Adressleiste ihres Browsers einfügen192.168.1.70:5050
, dh Ihre IP gefolgt von:
und die von Ihnen ausgewählte Portnummer.Wenn Sie von außerhalb Ihres LANs zugreifen möchten, können Sie Ihren Router an Ihren PC weiterleiten, wenn jemand über den 5050-Port eine Verbindung zu Ihrer öffentlichen IP herstellt.
quelle
Das Teilen von Apps über das LAN ist ziemlich cool, aber es ist eine Art Hack. Ich habe es mit einigen Mitarbeitern versucht, und es funktioniert, aber es ist eher ein Bürotrick als eine nachhaltige Lösung.
Ich habe gerade die Entwicklung des RInno- Pakets für genau dieses Problem abgeschlossen, dh wenn ein Unternehmen nicht für Shiny Server bezahlt oder Sicherheitsbedenken bei Cloud-Diensten bestehen.
So fangen Sie an:
Dann müssen Sie nur noch zwei Funktionen aufrufen, um ein Installationsframework zu erstellen:
Wenn Sie R für Ihre Mitarbeiter aufnehmen möchten , die haben es nicht installiert, fügen Sie
include_R = TRUE
zucreate_app
:Standardmäßig werden Shiny, Magrittr und Jsonlite verwendet. Wenn Sie also andere Pakete wie ggplot2 oder plotly verwenden, fügen Sie sie einfach dem
pkgs
Argument hinzu. Sie können demremotes
Argument auch GitHub-Pakete hinzufügen:Wenn Sie an anderen Funktionen interessiert sind, besuchen Sie FI Labs - RInno
quelle
Vielleicht möchten Sie einen Blick auf die Open-Source-Lösung Shinyproxy werfen .
Mit Shinyproxy müssen Sie Ihre Apps in einen Docker-Container packen, um sie zu hosten.
Hier finden Sie eine Anleitung zum Bereitstellen einer glänzenden App in einem Docker-Container (was übrigens auch ohne Verwendung von Shinyproxy eine gute Vorgehensweise ist, um die App-Abhängigkeiten beizubehalten).
Es stehen verschiedene Authentifizierungs- und Skalierungsmethoden zur Verfügung.
quelle
Ich habe Shiny kürzlich auf einem Centos 7 Linux OS-Server installiert, den wir lokal haben. Wir haben den folgenden Leitfaden größtenteils verwendet. https://www.vultr.com/docs/how-to-install-shiny-server-on-centos-7
Sie können hier Fragen zu Einrichtungsproblemen stellen, damit jeder, der die Anleitung verwendet, die Antworten sehen kann!
Wir haben auch versucht, es auf einem AWS-Server zu veröffentlichen. Wir haben uns für unseren eigenen entschieden, da der Inhalt vertraulich ist. Ansonsten sahen beide Lösungen ähnlich aus. Das Linux- und das Shiny-System sind leicht, Sie können es möglicherweise auf dem kostenlosen Amazon-Server ausführen!
quelle