Spaces:
Sleeping
Sleeping
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"] |