PortSimEnv-Eval / Dockerfile
AdithyaSK's picture
AdithyaSK HF Staff
PortSimEnv v1 eval explorer
7b68dd5 verified
Raw History Blame Contribute Delete
1.21 kB
# PortSimEnv v1 eval explorer: the viewer and its read-only JSON, no environment sessions.
# Build context: this folder (core/, openenv/, tasks/ side by side). Rollouts: the bucket, mounted at /data.
FROM python:3.12-slim
ENV PYTHONUNBUFFERED=1 PIP_NO_CACHE_DIR=1 HOME=/home/user PORT=8000 \
BERTH_TASKS_DIR=/app/tasks/dock-v1-eval:/app/tasks/dock-v1-train BERTH_RUNS_DIR=/data/rollouts \
BERTH_VIEWER_MODE=explorer BERTH_PLAY_URL=https://huggingface.co/spaces/FineEnvs/PortSimEnv
WORKDIR /app
COPY core /app/core
COPY openenv /app/openenv
COPY tasks /app/tasks
COPY fetch_assets.py /app/fetch_assets.py
# berth_openenv without the environment's dependencies: the explorer imports only api.py (FastAPI + berth_core)
RUN pip install /app/core "fastapi>=0.110" "uvicorn[standard]>=0.30" && pip install --no-deps /app/openenv \
&& python /app/fetch_assets.py && useradd --create-home --uid 1000 user && chown -R user:user /app
USER user
EXPOSE 8000
HEALTHCHECK --interval=30s --timeout=5s --start-period=30s \
CMD python -c "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/healthz')"
CMD ["sh", "-c", "uvicorn berth_openenv.explorer:app --host 0.0.0.0 --port ${PORT:-8000}"]