2014-09-17 17 views
5

Ich erstellte eine R Shiny-Anwendung, die ich mit meinen Kollegen in meinem Netzwerk teilen möchte. Ich habe versucht, die App auf meinem Computer zu hosten, damit andere Benutzer aus dem Netzwerk darauf zugreifen und sie mit ihren Datendateien verwenden können.RShiny - So teilen Sie App innerhalb des Netzwerks

Ich habe versucht:

runApp("appname",host="0.0.0.0",port=3986) 

Und auch:

runApp("appname",host="DNSMachinename") 

Dieser Versuch in den folgenden Fehler in Folge:

Während meine Kollegen der Lage sind, die App acceess, es doesn‘ Ich laufe wirklich wie auf meiner Maschine. Danke für die Hilfe.

+0

Vielleicht auf AWS über die Verwendung von glänzenden Server denken. Ich kann mehr Details als Antwort veröffentlichen, wenn Sie möchten. AWS kann den Zugriff auf IP-Ebene einschränken, und auf dem glänzenden Server selbst ist eine Authentifizierung integriert. –

+0

Gibt es eine Möglichkeit, einen alten Computer als Server einzurichten, der die Shiny-App hostet? Ich würde liebend gerne zu AWS wechseln, aber zu diesem Zeitpunkt bin ich einer der wenigen, die Shiny und R am Arbeitsplatz einsetzen, und ich müsste den Wert aufzeigen, den wir bekommen können, um eine Migration zu AWS zu rechtfertigen. – user1922730

+0

Ich habe einige Informationen veröffentlicht, die meiner Meinung nach hilfreich sind, um eine R-Umgebung für ein Team einzurichten. –

Antwort

3

Die shiny Übungsliste a number of ways to share your app. Ich hosting eine zip Datei irgendwo mit der App, und lassen Sie Ihre Mitarbeiter runUrl verwenden, um die App automatisch herunterzuladen und lokal ausführen. Auf diese Weise können Benutzer weiterhin die neueste Version der App ausführen, sie wird jedoch nicht auf Ihrem Computer ausgeführt.

+0

Danke, ich versuche, meine Organisation dazu zu bringen, R und Shiny zu verwenden, aber es gibt nicht viele von uns, die R beherrschen. Ich hoffe also, dass Benutzer diese Apps nutzen können, indem sie sie im Netzwerk des Unternehmens bereitstellen im Internet, aufgrund der Empfindlichkeit der Daten. – user1922730

+0

Die von mir vorgeschlagene Lösung beinhaltet nicht die Veröffentlichung der App im Internet. Diese Art von Lösung kann innerhalb einer Intranetsituation funktionieren. Solange es eine URL im lokalen Unternehmensnetzwerk oder im Internet gibt, können Sie diese Lösung verwenden. Dies erfordert jedoch die Leute, die die App mit R installiert haben. Die einzige andere Alternative, die ich sehe, ist die Verwendung eines dedizierten Servers zum Hosten der App. –

2

Da Sie Ihr Interesse an Shiny Server gezeigt haben, und es könnte für mich bequemer sein, nur ein paar Gedanken in der "Antwort" zu posten, da es nicht gut in den Kommentar passt.

Da Sie eine Gruppe haben, und ich würde Ihnen wärmstens empfehlen, werfen Sie einen Blick auf R-Server und glänzenden Server.

(1) Shiny server

Sie völlig Shiny-Server auf einem alten Computer installieren können, und ich möchte mit Linux-Betriebssystem wie (Ubuntu) empfehlen und es wird Ihnen einige Zeit nach dem Tutorial zu speichern. Wir haben einen Cluster und einen der Server dort, um gleichzeitig einen glänzenden Server und einen glänzenden Server zu hosten. Und nur interne Mitarbeiter können darauf zugreifen und es ist innerhalb des Firmennetzwerkes.

(2) R server

Ich bin nicht ganz sicher, welche Umgebung Sie verwenden R zu programmieren, aber wenn Sie möchten R in Ihrem Team evangalize. Eine stabile Umgebung, auf die alle in Ihrem Unternehmen mit Authentifizierung zugreifen können, ist ein guter Einstieg.

(3) shinyapps.io

eine kostenlose Plattform ist, dass Sie Ihre glänzende App hosten kann, ist es in der Alpha-Version, und ich glaube nicht, dass es viel Authentifizierung oder Sicherheit eingebaut ist. HIER enter link description here ein Beispiel ist gehostet auf shinyapps.io

(4) AWS free tier

Wenn Sie noch nie AWS verwendet haben, können Sie eine Mikro-Instanz läuft auf AWS für ein Jahr frei haben kann! Ich würde sehr empfehlen, AWS anstelle von F * mit einem alten Computer zu verwenden.

+0

Danke für die Information. Nach meinem Verständnis bietet nur die Professional Edition von Shiny Server Authentifizierung an? Der Trick an diesem Punkt ist, etwas zu liefern, das sicher, frei und zugänglich für Nicht-R-Benutzer ist, eine harte Nuss zu knacken, aber wenn ich es durchführe, wird die Finanzierung kommen. – user1922730

1

Wenn Sie immer noch versuchen, Buy-In für Ihren Server oder Ihre Cloud-Lösung zu bekommen, habe ich gerade das Paket für genau dieses Problem entwickelt, dh wenn ein Unternehmen nicht für Shiny Server zahlt oder es Sicherheitsbedenken mit der Cloud gibt Dienstleistungen.

Um loszulegen:

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

Dann müssen Sie einen Installationsrahmen nur zwei Funktionen aufrufen zu erstellen:

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

Wenn Sie R möchten für Ihre Mitarbeiter zählen, die don ‚t es installiert haben, fügen sie include_R = TRUE zu create_app:

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

Es enthält standardmäßig shiny, magritr und jsonlite. Wenn Sie also andere Pakete wie ggplot2 oder plotly verwenden, fügen Sie sie einfach dem Argument pkgs hinzu. Sie können auch GitHub-Pakete an das remotes Argument:

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

Wenn Sie in anderen Funktionen interessiert sind Besuche FI Labs - RInno

Verwandte Themen