2014-09-17 17 views
5

Stworzyłem aplikację R Shiny, którą chciałbym udostępnić moim współpracownikom w mojej sieci. Próbowałem hostować aplikację na moim komputerze, aby inni użytkownicy z sieci mogli uzyskać do niej dostęp i używać jej z plikami danych.RShiny - jak udostępnić aplikację w sieci

Próbowałem:

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

a ponadto:

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

Ta ostatnia próba spowodowała następujący błąd:

Podczas gdy moi koledzy są w stanie acceess aplikację, to nie robi” t naprawdę działa jak na mojej maszynie. Dzięki za pomoc.

+0

Może pomyśleć o korzystaniu z błyszczącą serwer na AWS. Jeśli chcesz, mogę podać bardziej szczegółowe informacje. AWS może ograniczyć dostęp na poziomie IP, a sam serwer błyszczący ma wbudowane uwierzytelnianie. –

+0

Czy istnieje możliwość skonfigurowania starego komputera jako serwera obsługującego aplikację Shiny? Chciałbym przenieść się do AWS, ale w tym momencie jestem jednym z niewielu, którzy naciskają na używanie Shiny i R w miejscu pracy, i musiałbym pokazać wartość, jaką możemy uzyskać, aby uzasadnić migrację do AWS. – user1922730

+0

Umieściłem kilka informacji poniżej, które moim zdaniem są pomocne przy konfigurowaniu środowiska R dla zespołu. –

Odpowiedz

3

Lista samouczków shinya number of ways to share your app. W szczególności korzystam z pliku zip gdzieś z aplikacją i pozwalam twoim współpracownikom używać runUrl do automatycznego pobierania aplikacji i uruchamiania jej lokalnie. W ten sposób ludzie mogą nadal uruchamiać najnowszą wersję aplikacji, ale nie działa ona na Twoim komputerze.

+0

Dzięki, staram się, aby moja organizacja używała R i Shiny, ale niewielu z nas jest biegły w R. Mam nadzieję, że pozwolę użytkownikom korzystać z tych aplikacji, ale wdrażając je w sieci organizacji, a nie w Internecie, ze względu na wrażliwość danych. – user1922730

+0

Rozwiązanie, które zasugerowałem, nie wiąże się z publikowaniem aplikacji w Internecie. Tego rodzaju rozwiązanie może dobrze funkcjonować w ramach intranetu. Dopóki istnieje adres URL, w lokalnej sieci firmowej lub w Internecie, możesz użyć tego rozwiązania. Wymaga to jednak osób, które mają zainstalowaną aplikację R. Jedyną alternatywą, jaką widzę, jest użycie dedykowanego serwera do hostowania aplikacji. –

2

Od kiedy wykazałeś zainteresowanie serwerem Shiny, może to być dla mnie wygodniejsze umieszczenie kilku myśli w "odpowiedzi", ponieważ nie pasują one do komentarza.

Ponieważ masz grupę, a ja bardzo polecam rzucić okiem na serwer R i serwer błyszczący.

(1) Shiny server

można całkowicie zainstalować serwer Shiny na starym komputerze i polecam przy użyciu jak system operacyjny Linux (Ubuntu) i będzie to zaoszczędzić trochę czasu po kursie. Mamy klaster i użyliśmy jednego z serwerów, aby hostować jednocześnie błyszczący serwer i błyszczący serwer. Tylko pracownik wewnętrzny może uzyskać do niego dostęp i znajduje się w sieci firmy.

(2) R server

nie jestem do końca pewien, w jakim środowisku używasz do programowania R ale jeśli chcesz evangalize R w swoim zespole. Posiadanie stabilnego środowiska, do którego dostęp mają wszyscy w firmie dzięki uwierzytelnianiu, jest dobrym sposobem na rozpoczęcie pracy.

(3) shinyapps.io

Czy darmowa platforma że można udostępnić swoją błyszczącą aplikację, jest w wersji alfa, a nie sądzę, istnieje wiele uwierzytelnienia lub bezpieczeństwa zbudowany w. TUTAJ enter link description here jest przykładem gospodarzem na shinyapps.io

(4) AWS free tier

Jeśli nigdy nie używany AWS wcześniej, można mieć mikro wystąpienie uruchomione na AWS bezpłatne przez okres jednego roku! Gorąco polecam używanie AWS zamiast F * w pobliżu ze starym komputerem.

+0

Dzięki za informacje. Do mojego zrozumienia tylko Professional Edition Shiny Server oferuje uwierzytelnianie eh? Sztuką w tym momencie jest dostarczenie czegoś, co jest bezpieczne, bezpłatne i dostępne dla użytkowników spoza R, twarde orzechy do zgryzienia, ale jeśli je ściągnę, środki zostaną przeznaczone. – user1922730

1

Jeśli nadal próbujesz uzyskać buy-in dla swojego serwera lub rozwiązania w chmurze, właśnie skończyłem opracowywać pakiet RInno dla tego konkretnego problemu, tj. Gdy firma nie będzie płacić za Błyszczący Serwer lub są obawy dotyczące bezpieczeństwa w chmurze usługi.

Aby zacząć:

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

Następnie wystarczy zadzwonić dwie funkcje, aby stworzyć ramy instalacyjny:

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

Jeśli chcesz zawierać R dla swoich współpracowników, którzy don „t mieć zainstalowany, aby dodać include_R = TRUEcreate_app:

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

Domyślnie jest to błyszczący, mgrittr i jsonlite, więc jeśli używasz innych pakietów, takich jak ggplot2 lub sprytnie, po prostu dodaj je do argumentu pkgs. Można także pakiety GitHub do remotes argumentu:

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

Jeśli jesteś zainteresowany innymi funkcjami, sprawdź FI Labs - RInno

Powiązane problemy