# Dockerfile para Monitor Evolution API + Webhook # Deploy otimizado para Coolify FROM python:3.11-slim # Definir diretório de trabalho WORKDIR /app # Variáveis de ambiente para Python ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 # Variáveis de ambiente para Streamlit ENV STREAMLIT_SERVER_PORT=3000 ENV STREAMLIT_SERVER_ADDRESS=0.0.0.0 ENV STREAMLIT_SERVER_HEADLESS=true ENV STREAMLIT_BROWSER_GATHER_USAGE_STATS=false # Timezone padrão (pode ser sobrescrito via variável de ambiente no Coolify) ENV TIMEZONE=America/Sao_Paulo ENV TZ=America/Sao_Paulo # Instalar dependências do sistema RUN apt-get update && apt-get install -y --no-install-recommends \ curl \ && rm -rf /var/lib/apt/lists/* # Atualizar pip RUN pip install --no-cache-dir --upgrade pip # Copiar arquivos da aplicação COPY app.py monitor_logic.py ./ # Copiar requirements.txt se existir, caso contrário instalar dependências diretamente COPY requirements.txt* ./ RUN if [ -f requirements.txt ]; then \ pip install --no-cache-dir -r requirements.txt; \ else \ pip install --no-cache-dir streamlit>=1.28.0 requests>=2.31.0 python-dotenv>=1.0.0 apscheduler>=3.10.0 pandas>=2.0.0; \ fi # Expor porta do Streamlit (padrão Coolify) EXPOSE 3000 # Healthcheck para Coolify HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ CMD curl --fail http://localhost:3000/_stcore/health || exit 1 # Comando para iniciar a aplicação na porta 3000 CMD ["streamlit", "run", "app.py", "--server.port=3000", "--server.address=0.0.0.0"]