-
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
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: |
RUN ./autogen.sh
RUN ./configure && make
+
FROM python:3.9-slim-bullseye
# Binary dependencies
media-types \
# OCRmyPDF dependencies
liblept5 \
- qpdf \
tesseract-ocr \
tesseract-ocr-eng \
tesseract-ocr-deu \
&& 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/*