cityvision-api / Dockerfile
DaryaEL's picture
CityVision prediction API
feac395
Raw
History Blame Contribute Delete
1.06 kB
# HF Space (Docker) — CityVision prediction API (FastAPI), publicly callable.
# Build context = project root: docker build -f deploy/hf/api/Dockerfile -t cityvision-api .
FROM python:3.10-slim
WORKDIR /app
# CPU PyTorch (deps from PyPI).
RUN pip install --no-cache-dir \
--index-url https://download.pytorch.org/whl/cpu \
--extra-index-url https://pypi.org/simple \
torch==2.12.0 torchvision==0.27.0
# API runtime deps (no streamlit — this Space only serves the API).
RUN pip install --no-cache-dir \
fastapi==0.136.3 uvicorn==0.49.0 python-multipart==0.0.32 \
numpy==2.2.6 pillow==12.2.0
# Shared package + API code + baked-in model weight.
# (backend/model/<arch>_best.pth must be present — commit it via git-lfs.)
COPY cityvision/ cityvision/
COPY backend/ backend/
ENV CITYVISION_ARCH=ResNet50-UNet
# HF routes external traffic to app_port (7860). Serve the API there so it's
# publicly reachable (Swagger at /docs, prediction at /predict).
EXPOSE 7860
CMD ["uvicorn", "backend.app:app", "--host", "0.0.0.0", "--port", "7860"]