Download Dockerfile from devmandan/qr-scan-difficulty-check: direct link, hf CLI and curl.
- Browser
- Download file 1.62 kB
-
https://huggingface.co/spaces/devmandan/qr-scan-difficulty-check/resolve/main/Dockerfile
- Command line
-
hf download hf://spaces/devmandan/qr-scan-difficulty-check/Dockerfile
-
curl -L -o Dockerfile https://huggingface.co/spaces/devmandan/qr-scan-difficulty-check/resolve/main/Dockerfile
1.62 kB
| # QR Scan Difficulty Check: the measured bell, and five open-source QR scanners that place your pictures on it. | |
| FROM python:3.13-slim-bookworm | |
| # Java runs ZXing as Android's Settings app does; curl fetches the pinned third-party files below | |
| RUN apt-get update \ | |
| && apt-get install -y --no-install-recommends openjdk-17-jdk-headless curl ca-certificates \ | |
| && rm -rf /var/lib/apt/lists/* | |
| WORKDIR /app | |
| COPY requirements.txt . | |
| RUN pip install --no-cache-dir --require-hashes --only-binary=:all: -r requirements.txt | |
| # ZXing core 3.5.2 from Maven Central, and WeChat's detector and super-resolution models with their licence from | |
| # WeChatCV's opencv_3rdparty repository (Apache-2.0) at a fixed commit, each checked against a pinned SHA-256 | |
| COPY server/vendor.sha256 /app/vendor/vendor.sha256 | |
| RUN cd /app/vendor && mkdir -p zxing wechat \ | |
| && curl -fsSL -o zxing/core-3.5.2.jar https://repo1.maven.org/maven2/com/google/zxing/core/3.5.2/core-3.5.2.jar \ | |
| && for f in detect.prototxt detect.caffemodel sr.prototxt sr.caffemodel LICENSE; do \ | |
| curl -fsSL -o "wechat/$f" "https://raw.githubusercontent.com/WeChatCV/opencv_3rdparty/3487ef7cde71d93c6a01bb0b84aa0f22c6128f6b/$f"; \ | |
| done \ | |
| && sha256sum -c vendor.sha256 | |
| COPY server/ /app/server/ | |
| RUN javac --release 17 -d /app/vendor/zxing/classes -cp /app/vendor/zxing/core-3.5.2.jar /app/server/zxing/ZxingServer.java | |
| COPY web/ /app/web/ | |
| RUN useradd -m -u 1000 user | |
| USER user | |
| ENV PYTHONUNBUFFERED=1 PYTHONDONTWRITEBYTECODE=1 OPENCV_IO_MAX_IMAGE_PIXELS=50000000 | |
| EXPOSE 7860 | |
| CMD ["uvicorn", "server.main:app", "--host", "0.0.0.0", "--port", "7860", "--no-access-log"] | |