Atualizado

This commit is contained in:
2026-03-27 00:25:27 -03:00
parent 464f9d4426
commit 6af9b62b5e

View File

@@ -1,50 +1,38 @@
# Dockerfile para Monitor Evolution API + Webhook
# Deploy otimizado para Coolify
FROM python:3.11-slim FROM python:3.11-slim
# Definir diretório de trabalho
WORKDIR /app WORKDIR /app
# Variáveis de ambiente para Python ENV PYTHONDONTWRITEBYTECODE=1 \
ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1 \
ENV PYTHONUNBUFFERED=1 STREAMLIT_SERVER_PORT=3000 \
STREAMLIT_SERVER_ADDRESS=0.0.0.0 \
STREAMLIT_SERVER_HEADLESS=true \
STREAMLIT_BROWSER_GATHER_USAGE_STATS=false \
TIMEZONE=America/Sao_Paulo \
TZ=America/Sao_Paulo
# 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 \ RUN apt-get update && apt-get install -y --no-install-recommends \
curl \ curl \
tzdata \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
# Atualizar pip RUN python -m pip install --no-cache-dir --upgrade pip
RUN pip install --no-cache-dir --upgrade pip
# Copiar arquivos da aplicação # Copia apenas o código necessário da aplicação.
COPY app.py monitor_logic.py ./ COPY app.py monitor_logic.py ./
# Copiar requirements.txt se existir, caso contrário instalar dependências diretamente # Dependências fixadas diretamente para evitar falha de shell com operadores >=.
COPY requirements.txt* ./ RUN python -m pip install --no-cache-dir \
RUN if [ -f requirements.txt ]; then \ "streamlit>=1.28.0" \
pip install --no-cache-dir -r requirements.txt; \ "requests>=2.31.0" \
else \ "python-dotenv>=1.0.0" \
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; \ "APScheduler>=3.10.0" \
fi "pandas>=2.0.0" \
"pytz>=2023.3"
# Expor porta do Streamlit (padrão Coolify)
EXPOSE 3000 EXPOSE 3000
# Healthcheck para Coolify HEALTHCHECK --interval=30s --timeout=10s --start-period=20s --retries=3 \
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ CMD curl --fail "http://localhost:${STREAMLIT_SERVER_PORT}/_stcore/health" || exit 1
CMD curl --fail http://localhost:3000/_stcore/health || exit 1
# Comando para iniciar a aplicação na porta 3000 CMD ["sh", "-c", "streamlit run app.py --server.port=${STREAMLIT_SERVER_PORT} --server.address=${STREAMLIT_SERVER_ADDRESS} --server.headless=${STREAMLIT_SERVER_HEADLESS} --browser.gatherUsageStats=${STREAMLIT_BROWSER_GATHER_USAGE_STATS}"]
CMD ["streamlit", "run", "app.py", "--server.port=3000", "--server.address=0.0.0.0"]