traffic-control / Dockerfile
amanmurari's picture
Upload 24 files
a871dae verified
Raw
History Blame Contribute Delete
960 Bytes
FROM python:3.11-slim
LABEL maintainer="OpenEnv Hackathon"
LABEL description="Autonomous Traffic Control – OpenEnv Environment"
WORKDIR /app
# Install dependencies first (layer cache friendly)
COPY pyproject.toml ./
RUN pip install --no-cache-dir \
"fastapi>=0.104.0" \
"uvicorn[standard]>=0.24.0" \
"pydantic>=2.5.0" \
"requests>=2.31.0" \
"python-multipart>=0.0.6"
# Copy source
COPY models.py client.py baseline_agent.py inference.py ./
COPY server/ server/
# Install the package itself (editable so imports resolve)
RUN pip install --no-cache-dir -e .
# Runtime config
ENV WORKERS=2
ENV PORT=8000
EXPOSE 8000
HEALTHCHECK --interval=15s --timeout=5s --start-period=10s --retries=3 \
CMD python -c "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"
CMD ["sh", "-c", \
"uvicorn traffic_control_env.server.app:app \
--host 0.0.0.0 \
--port ${PORT} \
--workers ${WORKERS}"]