FROM python:3.12-slim # OpenCV runtime libraries RUN apt-get update && apt-get install -y --no-install-recommends \ libgl1 libglib2.0-0 && \ rm -rf /var/lib/apt/lists/* WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY entropy.py health.py api.py ./ ENV ENTROPY_BITS=256 \ ENTROPY_INTERVAL=1.0 \ ENTROPY_API_KEY="" \ UVICORN_HOST=0.0.0.0 \ UVICORN_PORT=8000 EXPOSE 8000 HEALTHCHECK --interval=10s --timeout=3s --start-period=15s --retries=3 \ CMD python3 -c "import urllib.request,sys; urllib.request.urlopen('http://localhost:8000/healthz').read(); sys.exit(0)" || exit 1 CMD ["sh", "-c", "uvicorn api:app --host ${UVICORN_HOST} --port ${UVICORN_PORT}"]