Download Dockerfile from devrup404/sadar: direct link, hf CLI and curl.
- Browser
- Download file 1.91 kB
-
https://huggingface.co/spaces/devrup404/sadar/resolve/main/Dockerfile
- Command line
-
hf download hf://spaces/devrup404/sadar/Dockerfile
-
curl -L -o Dockerfile https://huggingface.co/spaces/devrup404/sadar/resolve/main/Dockerfile
1.91 kB
| FROM node:20-alpine AS frontend | |
| RUN corepack enable && corepack prepare pnpm@9.12.0 --activate | |
| WORKDIR /web | |
| COPY frontend/package.json frontend/pnpm-lock.yaml ./ | |
| RUN pnpm install --frozen-lockfile | |
| COPY frontend/ ./ | |
| RUN pnpm build | |
| FROM python:3.11-slim AS backend-builder | |
| ENV PYTHONDONTWRITEBYTECODE=1 \ | |
| PYTHONUNBUFFERED=1 \ | |
| PIP_NO_CACHE_DIR=1 \ | |
| UV_LINK_MODE=copy \ | |
| UV_PROJECT_ENVIRONMENT=/opt/venv | |
| RUN apt-get update && apt-get install -y --no-install-recommends \ | |
| build-essential \ | |
| curl \ | |
| && rm -rf /var/lib/apt/lists/* | |
| COPY --from=ghcr.io/astral-sh/uv:0.5.11 /uv /usr/local/bin/uv | |
| WORKDIR /app | |
| COPY pyproject.toml uv.lock ./ | |
| COPY src ./src | |
| RUN uv sync --frozen --no-dev | |
| FROM python:3.11-slim AS runtime | |
| ENV PYTHONDONTWRITEBYTECODE=1 \ | |
| PYTHONUNBUFFERED=1 \ | |
| PATH="/opt/venv/bin:$PATH" \ | |
| HOME=/home/user \ | |
| SADAR_PROCESSED_DIR=/app/data/processed \ | |
| SADAR_MODELS_DIR=/app/models \ | |
| SADAR_REPORTS_DIR=/app/reports \ | |
| SADAR_SERVE_CONFIG=/app/configs/serve.yaml \ | |
| SADAR_FRONTEND_DIR=/app/frontend/dist \ | |
| PORT=7860 | |
| RUN apt-get update && apt-get install -y --no-install-recommends \ | |
| libgomp1 \ | |
| curl \ | |
| && rm -rf /var/lib/apt/lists/* \ | |
| && useradd --create-home --uid 1000 --shell /bin/bash user | |
| WORKDIR /app | |
| COPY --from=backend-builder /opt/venv /opt/venv | |
| COPY --from=backend-builder /app/src /app/src | |
| COPY --from=frontend /web/dist /app/frontend/dist | |
| COPY configs ./configs | |
| COPY pyproject.toml ./ | |
| COPY models ./models | |
| COPY reports ./reports | |
| COPY data/processed/scaler.npz data/processed/test.npy data/processed/val.npy ./data/processed/ | |
| RUN chown -R user:user /app | |
| USER user | |
| EXPOSE 7860 | |
| HEALTHCHECK --interval=30s --timeout=5s --start-period=30s --retries=3 \ | |
| CMD curl -fsS http://localhost:${PORT}/api/health || exit 1 | |
| CMD ["sh", "-c", "uvicorn sadar.serve.app:app --host 0.0.0.0 --port ${PORT}"] | |