mirror of
https://github.com/ocrmypdf/OCRmyPDF.git
synced 2026-05-04 12:48:02 -04:00
Unfortunately because of this issue
https://github.com/docker/hub-feedback/issues/292
Docker Hub effectively automatically changes directory to the location
of Dockerfile, meaning needed files are not in the right places, so
this has to be reverted.
This reverts commit 65c9a07dde.
[ci skip]
55 lines
1.6 KiB
Docker
55 lines
1.6 KiB
Docker
# OCRmyPDF
|
|
#
|
|
# VERSION 4.4.2
|
|
FROM ubuntu:16.10
|
|
MAINTAINER James R. Barlow <jim@purplerock.ca>
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
software-properties-common python-software-properties \
|
|
python3-wheel \
|
|
python3-reportlab \
|
|
python3-venv \
|
|
ghostscript \
|
|
qpdf \
|
|
poppler-utils \
|
|
unpaper \
|
|
libffi-dev \
|
|
tesseract-ocr \
|
|
tesseract-ocr-eng \
|
|
tesseract-ocr-fra \
|
|
tesseract-ocr-spa \
|
|
tesseract-ocr-deu
|
|
|
|
RUN python3 -m venv --system-site-packages /appenv
|
|
|
|
# This installs the latest binary wheel instead of the code in the current
|
|
# folder. Installing from source will fail, apparently because cffi needs
|
|
# build-essentials (gcc) to do a source installation
|
|
# (i.e. "pip install ."). It's unclear to me why this is the case.
|
|
RUN . /appenv/bin/activate; \
|
|
pip install --upgrade pip \
|
|
&& pip install ocrmypdf
|
|
|
|
# Now copy the application in, mainly to get the test suite.
|
|
# Do this now to make the best use of Docker cache.
|
|
COPY . /application
|
|
RUN . /appenv/bin/activate; \
|
|
pip install -r /application/test_requirements.txt
|
|
|
|
# Remove the junk, including the source version of application since it was
|
|
# already installed
|
|
RUN rm -rf /tmp/* /var/tmp/* /root/* /application/ocrmypdf \
|
|
&& apt-get autoremove -y \
|
|
&& apt-get autoclean -y
|
|
|
|
RUN useradd docker \
|
|
&& mkdir /home/docker \
|
|
&& chown docker:docker /home/docker
|
|
|
|
USER docker
|
|
WORKDIR /home/docker
|
|
|
|
# Must use array form of ENTRYPOINT
|
|
# Non-array form does not append other arguments, because that is "intuitive"
|
|
ENTRYPOINT ["/application/docker-wrapper.sh"]
|