# news-mcp — imagem do servidor MCP de notícias. FROM python:3.12-slim # Sem .pyc (rootfs é read-only no runtime) e logs sem buffer. ENV PYTHONUNBUFFERED=1 \ PYTHONDONTWRITEBYTECODE=1 WORKDIR /app # Usuário não-root (segurança: o container não roda como root). RUN useradd --uid 10001 --create-home appuser # Instala dependências primeiro (melhor cache de camadas). COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # Código + um feeds.json padrão (o deploy sobrescreve montando o seu por cima). COPY *.py ./ COPY feeds.json ./feeds.json # Pasta do banco pertencente ao appuser (o volume nomeado herda essa dona). RUN mkdir -p /data && chown appuser:appuser /data USER appuser EXPOSE 17631 CMD ["python", "server.py"]