hospital-ed / server /Dockerfile
testingaccc's picture
Upload folder using huggingface_hub
0fe00d1 verified
Raw
History Blame Contribute Delete
1.38 kB
# Hospital ED — OpenEnv FastAPI server Dockerfile.
#
# Build: docker build -f server/Dockerfile -t hospital-ed-env .
# Run: docker run --rm -p 8000:8000 hospital-ed-env
#
# The image installs the repo-level requirements and launches
# `uvicorn server.app:app` on port 8000. This is the exact contract the
# OpenEnv framework and the hackathon grader expect.
FROM python:3.11-slim
WORKDIR /app
# System build tools (some scientific wheels need gcc)
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential curl \
&& rm -rf /var/lib/apt/lists/*
# Copy the server-specific requirements first for better layer caching
COPY server/requirements.txt /tmp/server-requirements.txt
RUN pip install --no-cache-dir -r /tmp/server-requirements.txt
# Copy the full project into /app. PYTHONPATH includes /app so
# `from hospital_env import ...`, `from server.app import ...`, etc. resolve.
COPY . /app
ENV PYTHONUNBUFFERED=1
ENV PYTHONPATH=/app
EXPOSE 8000
# OpenEnv framework expects a health endpoint on / (the FastAPI app
# provides /health). Wire it up so orchestrators can detect readiness.
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
CMD curl -fsS http://localhost:8000/health || exit 1
# Run the OpenEnv FastAPI app on port 8000.
CMD ["uvicorn", "server.app:app", "--host", "0.0.0.0", "--port", "8000"]