Como usar um app golem no shiny server?

Olá.

Eu tentei servir os usuários com um app golem através do Shiny Server, mas não consegui.

O Shiny Server está corretamente instalado, pois quando uso um aplicativo convencional (sem uso do golem), ele funciona. Ou seja, um alicativo com os arquivos ui.R, server.R e globals.R roda normalmente no servidor.

Eu gostaria de saber se há como servir os usuários através de um app empacotado com golem.

Vou listar os passos que segui abaixo:

(1) baixei o pacote através de devtools::install_github()

(2) coloquei a pasta do pacote dentro de: srv > shiny-server > meuappempacotado

(3) inseri o arquivo app.R em meuappempacotado

(4) processei http://192.xxx.x.xxx/meuappempacotado/app.R no navegador, assim como fiz para o aplicativo convencional que funciona perfeitamente.

Porém, me aparece a seguinte mensagem:

An error has occurred

The application failed to start.

The application exited during initialization.

Em suma, para um app convencional funciona, mas com um app empacotado com golem, não.

Eu li este trecho da documentação do golem, mas não obtive sucesso mesmo assim.

Agradeço a atenção.

1 curtida

Estou tendo a mesma dificuldade.

Você teve algum progresso?

1 curtida

Oi Ricardo.

Não tive, eu até tentei seguir estes passos de uma pergunta que fiz no GitHub do ThinkR (desenvolvedores do golem), mas sem sucesso. Coloquei a pasta app.R no shiny-server junto aos outros documentos, mas não funcionou aqui.

Se você conseguir, me dê um toque por favor?

Abs.

1 curtida

Opa, mal a demora!

Mas consegui sim, foi mais fácil do que imaginava até.

Na verdade foi um amigo que fez pra mim.

Ele instalou o R e o shiny-server no aws, e colocou os arquivos do app na pasta srv. O caminho completo ficou /srv/shiny-server/app/

Instalou no ubuntu todas as bibliotecas necessárias para instalar o pacote {devtools} no R.

Aí abriu o app pelo R e rodou o devtools::check{}, não teve nenhum erro. Então rodou remotes::install_local() e disse que deu certo.

Então, estou a tentar fazer isso no meu próprio servidor. Eu segui estes passos:

(1) Baixei o pacote do app shiny via GitHub em outro computador.

(2) Coloquei o pacote na pasta shiny-server.

(3) Coloquei o arquivo app.R dentro desta pasta.

Entretanto, quando coloco o endereço no navegador, não abre. Um aplicativo shiny comum (com os arquivos ui e server) funciona, mas com o pacote não.

O meu objetivo é me servir, com meu próprio servidor. Mas, não consegui. A única coisa que tenho que ter no meu outro computador é o pacote, não existe código fonte, apenas o pacote. Eu já tentei muitas ações, mas em nenhuma delas consegui fazer funcionar, infelizmente.

Se puder falar com este seu amigo sobre como fazer isso no seu próprio servidor (ou seja, na sua máquina Linux), eu serei grato por este auxílio.

Obrigado pela atenção.

Cara, ele não sabe também. Essa não é a área dele, fomos aprendendo juntos.

Infelizmente, não sei o que fazer no seu caso :frowning:

O devtools::check{} não dá erro nenhum?

Não produz erro algum:

devtools::check()

0 errors 0 warnings 0 notes

Já tentei fazer muitas coisas, mas não consegui configurar para usar apenas o pacote para servir outros computadores. É que preciso passar o app para um cliente, mas não posso passar o código. Por isso precisava servir apenas com o pacote.

Por exemplo, eu chegaria na empresa do cliente, instalaria o Shiny Server e colocaria o pacote dentro da pasta para que fosse possível servir vários computadores, mas apenas com o pacote, sem código-fonte.

Mas obrigado pela atenção.

Qual a mensagem do log?

Vá até o var/logs/shiny-server e veja o que contem no ultimo log do seu app.

para abrir o log precisa utilizar:

sudo tail <nome do arquivo log>

Abraços,