roundb commited on
Commit
9e8caa8
·
verified ·
1 Parent(s): 759713c

Upload 2 files

Browse files
Files changed (2) hide show
  1. Dockerfile +6 -6
  2. app.R +40 -40
Dockerfile CHANGED
@@ -1,23 +1,23 @@
1
  FROM rocker/shiny:latest
2
 
3
- # Instalar apenas dependências básicas
4
  RUN apt-get update && apt-get install -y \
5
  libxml2-dev \
6
  libcurl4-openssl-dev \
7
  libssl-dev \
8
  && rm -rf /var/lib/apt/lists/*
9
 
10
- # Instalar apenas pacotes necessários para teste (SEM dlookr)
11
  RUN R -e "install.packages(c('shiny','readxl','rpivotTable'), repos='https://cloud.r-project.org', dependencies=TRUE)"
12
 
13
  # Criar diretório da app
14
  RUN mkdir -p /srv/shiny-server/app
15
 
16
- # Copiar versão simplificada do app
17
- COPY app_simples.R /srv/shiny-server/app/app.R
18
  COPY STATUS1.xlsx /srv/shiny-server/app/STATUS1.xlsx
19
 
20
- # Configurar shiny-server para rodar na porta 7860
21
  RUN echo "run_as shiny;\n\
22
  server {\n\
23
  listen 7860;\n\
@@ -34,7 +34,7 @@ WORKDIR /srv/shiny-server/app
34
  # Permissões
35
  RUN chown -R shiny:shiny /srv/shiny-server /var/log/shiny-server
36
 
37
- # Expor porta 7860
38
  EXPOSE 7860
39
 
40
  # Comando para iniciar o servidor
 
1
  FROM rocker/shiny:latest
2
 
3
+ # Instalar dependências do sistema
4
  RUN apt-get update && apt-get install -y \
5
  libxml2-dev \
6
  libcurl4-openssl-dev \
7
  libssl-dev \
8
  && rm -rf /var/lib/apt/lists/*
9
 
10
+ # Instalar pacotes R (SEM dlookr para evitar problemas)
11
  RUN R -e "install.packages(c('shiny','readxl','rpivotTable'), repos='https://cloud.r-project.org', dependencies=TRUE)"
12
 
13
  # Criar diretório da app
14
  RUN mkdir -p /srv/shiny-server/app
15
 
16
+ # Copiar arquivos da app
17
+ COPY app.R /srv/shiny-server/app/app.R
18
  COPY STATUS1.xlsx /srv/shiny-server/app/STATUS1.xlsx
19
 
20
+ # Configurar shiny-server para rodar na porta 7860 (Hugging Face Spaces)
21
  RUN echo "run_as shiny;\n\
22
  server {\n\
23
  listen 7860;\n\
 
34
  # Permissões
35
  RUN chown -R shiny:shiny /srv/shiny-server /var/log/shiny-server
36
 
37
+ # Expor porta 7860 (padrão Hugging Face Spaces)
38
  EXPOSE 7860
39
 
40
  # Comando para iniciar o servidor
app.R CHANGED
@@ -1,54 +1,54 @@
1
- # Versão simplificada para diagnóstico
2
- # Testa cada pacote individualmente
3
-
4
- cat("=== Iniciando aplicação ===\n")
5
-
6
- cat("Carregando shiny...\n")
7
  library(shiny)
8
- cat("shiny carregado com sucesso\n")
9
-
10
- cat("Carregando readxl...\n")
11
  library(readxl)
12
- cat("readxl carregado com sucesso\n")
13
-
14
- cat("Carregando rpivotTable...\n")
15
  library(rpivotTable)
16
- cat("rpivotTable carregado com sucesso\n")
17
-
18
- cat("Tentando ler o arquivo Excel...\n")
19
- dados <- tryCatch({
20
- read_excel("STATUS1.xlsx")
21
- }, error = function(e) {
22
- cat("ERRO ao ler Excel:", e$message, "\n")
23
- return(NULL)
24
- })
25
-
26
- if (!is.null(dados)) {
27
- cat("Arquivo Excel lido com sucesso! Linhas:", nrow(dados), "\n")
28
- } else {
29
- cat("Falha ao ler arquivo Excel\n")
30
- }
31
 
32
  ui <- fluidPage(
33
- titlePanel("Teste Simplificado - Pivot Table"),
34
-
35
- mainPanel(
36
- h3("Se você vê isto, a aplicação iniciou!"),
37
- rpivotTableOutput("pivot")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  )
39
  )
40
 
41
  server <- function(input, output, session) {
42
- cat("Servidor iniciado\n")
43
-
 
 
 
44
  output$pivot <- renderRpivotTable({
45
- if (!is.null(dados)) {
46
- rpivotTable(dados)
47
- } else {
48
- NULL
49
- }
 
 
 
 
 
 
50
  })
51
  }
52
 
53
- cat("Iniciando shinyApp...\n")
54
  shinyApp(ui, server)
 
 
 
 
 
 
 
1
  library(shiny)
 
 
 
2
  library(readxl)
 
 
 
3
  library(rpivotTable)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
 
5
  ui <- fluidPage(
6
+ titlePanel("EDA no Browser rpivotTable"),
7
+
8
+ sidebarLayout(
9
+ sidebarPanel(
10
+ h4("Dataset"),
11
+ p("Arquivo: STATUS1.xlsx"),
12
+ hr(),
13
+ p(strong("Nota:"), "A funcionalidade de diagnóstico dlookr foi removida devido a problemas de compatibilidade com o Hugging Face Spaces."),
14
+ p("Use o Pivot Table abaixo para explorar os dados interativamente.")
15
+ ),
16
+
17
+ mainPanel(
18
+ tabsetPanel(
19
+ tabPanel(
20
+ "Pivot Table",
21
+ rpivotTableOutput("pivot")
22
+ ),
23
+ tabPanel(
24
+ "Informações",
25
+ h3("Sobre os Dados"),
26
+ verbatimTextOutput("info")
27
+ )
28
+ )
29
+ )
30
  )
31
  )
32
 
33
  server <- function(input, output, session) {
34
+
35
+ STATUS <- reactive({
36
+ read_excel("STATUS1.xlsx")
37
+ })
38
+
39
  output$pivot <- renderRpivotTable({
40
+ rpivotTable(STATUS())
41
+ })
42
+
43
+ output$info <- renderPrint({
44
+ dados <- STATUS()
45
+ cat("Dimensões:", nrow(dados), "linhas x", ncol(dados), "colunas\n\n")
46
+ cat("Colunas:\n")
47
+ print(names(dados))
48
+ cat("\n")
49
+ cat("Primeiras linhas:\n")
50
+ print(head(dados))
51
  })
52
  }
53
 
 
54
  shinyApp(ui, server)