| # Use uma imagem base Python oficial | |
| FROM python:3.10-slim | |
| # Define o diretório de trabalho no contêiner | |
| WORKDIR /code | |
| # Instala dependências de sistema (Tesseract e idioma Português) | |
| # O RUN executa comandos no shell do contêiner durante o build | |
| RUN apt-get update && apt-get install -y --no-install-recommends \ | |
| tesseract-ocr \ | |
| tesseract-ocr-por \ | |
| # Adicione outras dependências de sistema se OpenCV precisar (pode não ser necessário com headless) | |
| # Ex: libgl1-mesa-glx libglib2.0-0 | |
| # Limpa o cache do apt para reduzir o tamanho da imagem | |
| && rm -rf /var/lib/apt/lists/* | |
| # Copia o arquivo de requisitos primeiro (para aproveitar o cache do Docker) | |
| COPY requirements.txt requirements.txt | |
| # Instala as dependências Python | |
| RUN pip install --no-cache-dir --upgrade pip && \ | |
| pip install --no-cache-dir -r requirements.txt | |
| # Copia todo o resto do código do seu projeto para o diretório de trabalho | |
| COPY . . | |
| # Expõe a porta que o Gradio usará (padrão 7860) | |
| EXPOSE 7860 | |
| # Comando para executar a aplicação quando o contêiner iniciar | |
| # O CMD usa a forma exec (lista JSON) que é preferível | |
| CMD ["python", "app.py"] |