MedTriage / Dockerfile
VP-TT
Initial commit: MedTriage OpenEnv environment
8df47e6
Raw
History Blame Contribute Delete
3.43 kB
FROM python:3.11-slim
# ── Metadata ──────────────────────────────────────────────────────────────────
LABEL maintainer="medtriage-env"
LABEL org.opencontainers.image.description="MedTriage OpenEnv β€” Emergency Department Triage & Clinical Decision Support"
# ── System dependencies ───────────────────────────────────────────────────────
RUN apt-get update && apt-get install -y --no-install-recommends \
curl \
&& rm -rf /var/lib/apt/lists/*
# ── Non-root user (required for HF Spaces) ────────────────────────────────────
RUN useradd -m -u 1000 appuser
# ── Working directory ─────────────────────────────────────────────────────────
WORKDIR /app
# ── Install dependencies first (better layer caching) ────────────────────────
COPY medtriage_env/server/requirements.txt /app/requirements.txt
RUN pip install --no-cache-dir -r requirements.txt
# ── Copy application code ─────────────────────────────────────────────────────
COPY medtriage_env/ /app/medtriage_env/
COPY pyproject.toml /app/pyproject.toml
# ── Install the package ────────────────────────────────────────────────────────
RUN pip install --no-cache-dir -e .
# ── Set ownership ─────────────────────────────────────────────────────────────
RUN chown -R appuser:appuser /app
# ── Switch to non-root ────────────────────────────────────────────────────────
USER appuser
# ── HF Spaces uses port 7860 ──────────────────────────────────────────────────
EXPOSE 7860
# ── Environment ───────────────────────────────────────────────────────────────
ENV PYTHONUNBUFFERED=1
ENV PYTHONDONTWRITEBYTECODE=1
# ── Health check ──────────────────────────────────────────────────────────────
HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 \
CMD curl -f http://localhost:7860/health || exit 1
# ── Start server ──────────────────────────────────────────────────────────────
CMD ["uvicorn", "medtriage_env.server.app:app", "--host", "0.0.0.0", "--port", "7860", "--workers", "1"]