Files
Monitor-N8N/Dockerfile
2026-03-27 00:25:27 -03:00

39 lines
1.2 KiB
Docker

FROM python:3.11-slim
WORKDIR /app
ENV PYTHONDONTWRITEBYTECODE=1 \
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
RUN apt-get update && apt-get install -y --no-install-recommends \
curl \
tzdata \
&& rm -rf /var/lib/apt/lists/*
RUN python -m pip install --no-cache-dir --upgrade pip
# Copia apenas o código necessário da aplicação.
COPY app.py monitor_logic.py ./
# Dependências fixadas diretamente para evitar falha de shell com operadores >=.
RUN python -m 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" \
"pytz>=2023.3"
EXPOSE 3000
HEALTHCHECK --interval=30s --timeout=10s --start-period=20s --retries=3 \
CMD curl --fail "http://localhost:${STREAMLIT_SERVER_PORT}/_stcore/health" || exit 1
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}"]