diff --git a/Dockerfile b/Dockerfile index 4f32a0a..07bf362 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,11 +10,19 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ supervisor \ && rm -rf /var/lib/apt/lists/* -# Install bambu-lab-cloud-api without deps (opencv-python is declared but unused at runtime) +# Install bambu-lab-cloud-api without deps (opencv-python is declared but unused at runtime). +# Then stub out opencv-python so pip's resolver considers it satisfied and won't try to +# build it from source (no C compiler, no armv7l wheel available). RUN pip install --no-cache-dir bambu-lab-cloud-api --no-deps && \ - pip install --no-cache-dir paho-mqtt requests flask flask-cors flask-limiter + pip install --no-cache-dir paho-mqtt requests flask flask-cors flask-limiter && \ + python3 -c "import site, pathlib; \ + d = pathlib.Path(site.getsitepackages()[0]) / 'opencv_python-4.99.0.dist-info'; \ + d.mkdir(); \ + (d / 'METADATA').write_text('Metadata-Version: 2.1\nName: opencv-python\nVersion: 4.99.0\n'); \ + (d / 'INSTALLER').write_text('pip\n'); \ + (d / 'RECORD').write_text('')" -# Install project and remaining dependencies +# Install project and remaining dependencies (pip sees opencv-python already satisfied) COPY pyproject.toml . RUN pip install --no-cache-dir ".[standalone]"