From 43779982326f1093cf19f6356e3943e873d6cde8 Mon Sep 17 00:00:00 2001 From: Johann Bauer Date: Fri, 25 Feb 2022 14:07:52 +0100 Subject: [PATCH] Fix Armv7 Docker build --- .github/workflows/ci.yml | 12 ++---------- Dockerfile | 23 +++++++++++++++++++---- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 13dc2c74c..fd2f420e2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -316,14 +316,6 @@ jobs: - name: Set up QEMU uses: docker/setup-qemu-action@v1 - - - name: Cache Docker layers - uses: actions/cache@v2 - with: - path: /tmp/.buildx-cache - key: ${{ runner.os }}-buildx-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-buildx- - name: Login to Github Container Registry uses: docker/login-action@v1 @@ -340,8 +332,8 @@ jobs: platforms: linux/amd64,linux/arm/v7,linux/arm64 push: true tags: ${{ steps.prepare.outputs.tags }} - cache-from: type=local,src=/tmp/.buildx-cache - cache-to: type=local,dest=/tmp/.buildx-cache + cache-from: type=gha + cache-to: type=gha,mode=max - name: Inspect image run: | diff --git a/Dockerfile b/Dockerfile index 6c0caa049..801abe474 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,6 +8,7 @@ RUN git clone https://github.com/agl/jbig2enc . RUN ./autogen.sh RUN ./configure && make + FROM python:3.9-slim-bullseye # Binary dependencies @@ -39,7 +40,6 @@ RUN apt-get update \ media-types \ # OCRmyPDF dependencies liblept5 \ - qpdf \ tesseract-ocr \ tesseract-ocr-eng \ tesseract-ocr-deu \ @@ -62,11 +62,26 @@ RUN apt-get update \ && apt-get -y --no-install-recommends install \ build-essential \ libpq-dev \ - libqpdf-dev \ - && python3 -m pip install --upgrade pip setuptools wheel \ + git \ + zlib1g-dev \ + libjpeg62-turbo-dev \ + && if [ "$(uname -m)" = "armv7l" ]; \ + then echo "Building qpdf" \ + && mkdir -p /usr/src/qpdf \ + && cd /usr/src/qpdf \ + && git clone https://github.com/qpdf/qpdf.git . \ + && git checkout --quiet release-qpdf-10.6.2 \ + && ./configure \ + && make \ + && make install \ + && cd /usr/src/paperless/src/ \ + && rm -rf /usr/src/qpdf; \ + else \ + echo "Skipping qpdf build because pikepdf binary wheels are available."; \ + fi \ && python3 -m pip install --default-timeout=1000 --upgrade --no-cache-dir supervisor \ && python3 -m pip install --default-timeout=1000 --no-cache-dir -r ../requirements.txt \ - && apt-get -y purge build-essential libqpdf-dev \ + && apt-get -y purge build-essential git zlib1g-dev libjpeg62-turbo-dev \ && apt-get -y autoremove --purge \ && rm -rf /var/lib/apt/lists/*