histlearn commited on
Commit
f4e50d4
1 Parent(s): dd811fe

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +20 -12
Dockerfile CHANGED
@@ -1,5 +1,8 @@
1
  FROM python:3.9-slim
2
 
 
 
 
3
  # Instalar dependências do sistema
4
  RUN apt-get update && apt-get install -y \
5
  ghostscript \
@@ -10,20 +13,15 @@ RUN apt-get update && apt-get install -y \
10
  poppler-utils \
11
  && rm -rf /var/lib/apt/lists/*
12
 
13
- # Configurar diretórios e permissões para fontconfig e matplotlib
14
- RUN mkdir -p /usr/share/fonts/truetype/liberation && \
15
- mkdir -p /root/.cache/matplotlib && \
16
- mkdir -p /root/.config/fontconfig && \
17
- mkdir -p /root/.config/matplotlib && \
18
- chmod -R 777 /root/.cache/matplotlib && \
19
- chmod -R 777 /root/.config/fontconfig && \
20
- chmod -R 777 /root/.config/matplotlib
21
-
22
- # Configurar variável de ambiente para o matplotlib
23
- ENV MPLCONFIGDIR=/root/.config/matplotlib
24
 
25
  # Configurar diretório de trabalho
26
- WORKDIR /code
27
 
28
  # Copiar requirements e instalar dependências Python
29
  COPY requirements.txt .
@@ -32,5 +30,15 @@ RUN pip install --no-cache-dir -r requirements.txt
32
  # Copiar o código da aplicação
33
  COPY app.py .
34
 
 
 
 
 
 
 
 
 
 
 
35
  # Comando para iniciar a aplicação
36
  CMD ["python", "app.py"]
 
1
  FROM python:3.9-slim
2
 
3
+ # Criar usuário não-root
4
+ RUN useradd -m -u 1000 user
5
+
6
  # Instalar dependências do sistema
7
  RUN apt-get update && apt-get install -y \
8
  ghostscript \
 
13
  poppler-utils \
14
  && rm -rf /var/lib/apt/lists/*
15
 
16
+ # Criar e configurar diretórios necessários
17
+ RUN mkdir -p /home/user/.config/matplotlib && \
18
+ mkdir -p /home/user/.cache/matplotlib && \
19
+ mkdir -p /home/user/.config/fontconfig && \
20
+ chown -R user:user /home/user/.config && \
21
+ chown -R user:user /home/user/.cache
 
 
 
 
 
22
 
23
  # Configurar diretório de trabalho
24
+ WORKDIR /app
25
 
26
  # Copiar requirements e instalar dependências Python
27
  COPY requirements.txt .
 
30
  # Copiar o código da aplicação
31
  COPY app.py .
32
 
33
+ # Configurar permissões
34
+ RUN chown -R user:user /app
35
+
36
+ # Mudar para o usuário não-root
37
+ USER user
38
+
39
+ # Configurar variáveis de ambiente
40
+ ENV HOME=/home/user
41
+ ENV MPLCONFIGDIR=/home/user/.config/matplotlib
42
+
43
  # Comando para iniciar a aplicação
44
  CMD ["python", "app.py"]