Spaces:
Running
Running
Download Dockerfile from Hoctar77/SimpleDocReview: direct link, hf CLI and curl.
- Browser
- Download file 1.62 kB
-
https://huggingface.co/spaces/Hoctar77/SimpleDocReview/resolve/main/Dockerfile
- Command line
-
hf download hf://spaces/Hoctar77/SimpleDocReview/Dockerfile
-
curl -L -o Dockerfile https://huggingface.co/spaces/Hoctar77/SimpleDocReview/resolve/main/Dockerfile
1.62 kB
| # NOT used by the Hugging Face Space. | |
| # | |
| # The Space is `sdk: static` (see README.md's front matter), because creating a | |
| # Docker Space requires a paid Hugging Face plan. This file exists for two | |
| # reasons: | |
| # | |
| # 1. running upstream unmodified in a container locally, where app.py serves | |
| # the real API and the browser overlay is not involved at all; | |
| # 2. as the starting point if this ever moves to a paid plan. | |
| # | |
| # Read the caveat before reaching for reason 2: a Space's filesystem is | |
| # ephemeral. Upstream stores documents in uploads/ and review records in | |
| # data/reviews.json, so a restarted container starts empty. Making the Space a | |
| # real review system needs a persistent volume or an external store, not just | |
| # this Dockerfile. | |
| # | |
| # Upstream needs no third-party packages, so there is nothing to install. | |
| FROM python:3.13-slim | |
| # Hugging Face Spaces run as uid 1000 and expect the app on port 7860. | |
| RUN useradd --create-home --uid 1000 app | |
| USER app | |
| WORKDIR /home/app | |
| # The vendored upstream mirror, exactly as sync-upstream.ps1 left it. Nothing | |
| # from overlay/ is copied: in a container the real server answers /api/, and the | |
| # browser-side reimplementation would be a second, conflicting answer. | |
| COPY --chown=app:app app/ ./ | |
| # Written at runtime by app.py's ensure_storage(), and ephemeral in a Space. | |
| RUN mkdir -p data uploads | |
| EXPOSE 7860 | |
| # app.py's run() defaults to 127.0.0.1:4173, which is unreachable from outside a | |
| # container, so host and port are passed explicitly. sync-upstream.ps1 warns if | |
| # upstream ever changes that signature. | |
| CMD ["python", "-c", "import app; app.run('0.0.0.0', 7860)"] | |