FROM python:3.9-slim # Criar usuário não-root RUN useradd -m -u 1000 user # Instalar dependências do sistema RUN apt-get update && apt-get install -y \ ghostscript \ python3-opencv \ libgl1-mesa-glx \ fonts-liberation \ fontconfig \ poppler-utils \ && rm -rf /var/lib/apt/lists/* # Criar e configurar diretórios necessários RUN mkdir -p /home/user/.config/matplotlib && \ mkdir -p /home/user/.cache/matplotlib && \ mkdir -p /home/user/.config/fontconfig && \ chown -R user:user /home/user/.config && \ chown -R user:user /home/user/.cache # Configurar diretório de trabalho WORKDIR /app # Copiar requirements e instalar dependências Python COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # Copiar o código da aplicação COPY app.py . # Configurar permissões RUN chown -R user:user /app # Mudar para o usuário não-root USER user # Configurar variáveis de ambiente ENV HOME=/home/user ENV MPLCONFIGDIR=/home/user/.config/matplotlib # Comando para iniciar a aplicação CMD ["python", "app.py"]