Geoeasy commited on
Commit
a974a2c
·
verified ·
1 Parent(s): 95c1b67

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +26 -19
Dockerfile CHANGED
@@ -9,28 +9,43 @@ R -e "install.packages(c('httr2'))" && \
9
  rm -rf /var/lib/apt/lists/*
10
 
11
 
12
- # Copiar app e script de inicialização
13
  COPY app.R /srv/shiny-server/
14
- COPY init.sh /init.sh
15
 
16
 
17
- # Normalizar EOL (CRLF -> LF), permissões e ownership
18
- RUN dos2unix /init.sh /srv/shiny-server/app.R && \
19
- chmod +x /init.sh && \
20
- chown -R shiny:shiny /srv/shiny-server
 
21
 
22
 
23
- # Porta padrão exigida pelo Spaces
24
- EXPOSE 7860
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
 
26
 
27
- # Exec form
28
  CMD ["/init.sh"]
29
 
30
 
31
  # --- init.sh ---
32
  #!/bin/bash
33
- set -Eeuo pipefail
34
  PORT_TO_USE="${PORT:-7860}"
35
 
36
 
@@ -48,12 +63,4 @@ directory_index on;
48
  EOF
49
 
50
 
51
- exec /usr/bin/shiny-server
52
-
53
-
54
- # --- .gitattributes ---
55
- # Força LF em ambientes Windows
56
- * text=auto eol=lf
57
- *.sh text eol=lf
58
- *.R text eol=lf
59
-
 
9
  rm -rf /var/lib/apt/lists/*
10
 
11
 
12
+ # Copiar app e normalizar EOL
13
  COPY app.R /srv/shiny-server/
14
+ RUN dos2unix /srv/shiny-server/app.R && chown -R shiny:shiny /srv/shiny-server
15
 
16
 
17
+ # Criar o init.sh dentro do Dockerfile (evita arquivo separado e problemas de CRLF)
18
+ RUN cat > /init.sh <<'EOF'
19
+ #!/bin/bash
20
+ #set -Eeuo pipefail
21
+ PORT_TO_USE="${PORT:-7860}"
22
 
23
 
24
+ cat > /etc/shiny-server/shiny-server.conf <<CONF
25
+ run_as shiny;
26
+ server {
27
+ listen ${PORT_TO_USE};
28
+ location / {
29
+ site_dir /srv/shiny-server;
30
+ log_dir /var/log/shiny-server;
31
+ directory_index on;
32
+ }
33
+ }
34
+ CONF
35
+
36
+
37
+ exec /usr/bin/shiny-server
38
+ EOF
39
+ RUN chmod +x /init.sh
40
 
41
 
42
+ EXPOSE 7860
43
  CMD ["/init.sh"]
44
 
45
 
46
  # --- init.sh ---
47
  #!/bin/bash
48
+ #set -Eeuo pipefail
49
  PORT_TO_USE="${PORT:-7860}"
50
 
51
 
 
63
  EOF
64
 
65
 
66
+ exec /usr/bin/shiny-server