# Build stage | |
FROM python:3.11-slim-bullseye AS builder | |
ENV PYTHONDONTWRITEBYTECODE=1 \ | |
PYTHONUNBUFFERED=1 \ | |
PIP_NO_CACHE_DIR=1 \ | |
DEBIAN_FRONTEND=noninteractive | |
WORKDIR /build | |
# Install minimal dependencies and Python packages | |
RUN apt-get update && apt-get install -y --no-install-recommends \ | |
curl \ | |
ca-certificates \ | |
&& rm -rf /var/lib/apt/lists/* \ | |
&& pip install --upgrade pip | |
COPY requirements.txt . | |
RUN pip install --no-cache-dir -r requirements.txt | |
# Runtime stage | |
FROM python:3.11-slim-bullseye | |
ENV PYTHONDONTWRITEBYTECODE=1 \ | |
PYTHONUNBUFFERED=1 \ | |
PORT=7860 \ | |
DEBUG=false | |
WORKDIR /app | |
# Copy Python packages and application files | |
COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages | |
COPY more_core.py degpt.py ./ | |
# Install runtime dependencies | |
RUN apt-get update && apt-get install -y --no-install-recommends \ | |
curl \ | |
ca-certificates \ | |
&& rm -rf /var/lib/apt/lists/* | |
# Healthcheck and entrypoint | |
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ | |
CMD curl -f http://localhost:${PORT}/health || exit 1 | |
EXPOSE ${PORT} | |
CMD ["python", "more_core.py"] | |