| # syntax=docker/dockerfile:1 | |
| FROM python:3.11-slim | |
| ENV PYTHONUNBUFFERED=1 \ | |
| PYTHONDONTWRITEBYTECODE=1 \ | |
| PIP_NO_CACHE_DIR=1 | |
| WORKDIR /app | |
| # ------ install ehragent + server deps ------ | |
| COPY requirements.txt ./ | |
| RUN pip install -r requirements.txt | |
| COPY pyproject.toml README.md ./ | |
| COPY ehragent ./ehragent | |
| RUN pip install --no-deps . | |
| # ------ server code + datasets ------ | |
| COPY server.py ./ | |
| COPY data /data | |
| # HF Spaces routes traffic to port 7860 by default. | |
| ENV PORT=7860 \ | |
| HOST=0.0.0.0 \ | |
| EHRAGENT_DATABASES='{"mimic_iii":{"path":"/data/mimic_iii.sqlite","label":"MIMIC-III","handbook":"/data/handbook/mimic_iii_handbook.md","memory_bank":"/data/memory_bank/mimic_iii"},"mimic_iv":{"path":"/data/mimic_iv.sqlite","label":"MIMIC-IV","handbook":"/data/handbook/mimic_iv_handbook_qwen35.md"},"eicu":{"path":"/data/eicu.sqlite","label":"eICU","handbook":"/data/handbook/eicu_handbook.md"}}' \ | |
| EHRAGENT_CORS_ORIGINS=* | |
| EXPOSE 7860 | |
| CMD ["sh", "-c", "uvicorn server:app --host ${HOST} --port ${PORT}"] | |