VSL / Dockerfile
RaiSantos's picture
oi
5af31c7
# Use Python 3.9 como base
FROM python:3.9-slim
# Instalar dependências do sistema
RUN apt-get update && apt-get install -y \
ffmpeg \
git \
wget \
imagemagick \
libmagick++-dev \
fonts-liberation \
fonts-open-sans \
&& rm -rf /var/lib/apt/lists/*
# Configurar ImageMagick para permitir operações com PDF
RUN sed -i 's/rights="none" pattern="PDF"/rights="read|write" pattern="PDF"/' /etc/ImageMagick-6/policy.xml || true
# Definir diretório de trabalho
WORKDIR /app
# Copiar requirements primeiro para cache melhor
COPY requirements.txt .
# Instalar dependências Python
RUN pip install --no-cache-dir -r requirements.txt
# Copiar todos os arquivos do projeto
COPY . .
# Criar pastas necessárias e dar permissão total para todo o projeto
RUN mkdir -p uploads outputs templates temp \
&& mkdir -p /app/.cache/huggingface /app/.config/matplotlib \
&& chmod -R 777 /app
# Mover arquivos HTML para templates (se existirem)
RUN mv index.html templates/ 2>/dev/null || true
RUN mv processing.html templates/ 2>/dev/null || true
RUN mv results.html templates/ 2>/dev/null || true
RUN mv vsl.html templates/ 2>/dev/null || true
# =========================
# SOLUÇÃO PARA ERROS DE PERMISSÃO
# =========================
# Definir diretórios de cache e configuração para ferramentas que exigem escrita
ENV MPLCONFIGDIR=/app/.config/matplotlib
ENV TRANSFORMERS_CACHE=/app/.cache/huggingface
ENV HF_HOME=/app/.cache/huggingface
ENV XDG_CACHE_HOME=/app/.cache
ENV IMAGEMAGICK_BINARY=/usr/bin/convert
# Expor porta
EXPOSE 7860
# Comando para iniciar a aplicação
CMD ["python", "app.py"]