ocrd-galley/Dockerfile

84 lines
2.5 KiB
Text
Raw Normal View History

2019-06-24 16:36:19 +02:00
FROM ubuntu:18.04
ENV LC_ALL=C.UTF-8 LANG=C.UTF-8
ENV TESSDATA_BEST_VERSION 4.0.0
ENV TESSDATA_PREFIX /usr/local/share/tessdata
2019-08-21 11:54:01 +02:00
2019-09-23 15:02:59 +02:00
2019-06-24 16:36:19 +02:00
RUN apt-get update && \
apt-get install -y \
2019-09-23 15:02:59 +02:00
curl xz-utils \
python3-pip \
2019-06-24 16:36:19 +02:00
git \
2020-03-02 12:05:55 +01:00
software-properties-common \
2019-09-23 15:02:59 +02:00
# For clstm on Ubuntu 19.04:
swig libeigen3-dev libpng-dev libprotobuf-dev \
# For cv2:
libsm6 libxrender1 \
2019-10-21 17:04:06 +02:00
# For ocrd_olena:
imagemagick \
2019-09-23 15:02:59 +02:00
# XML utils
2019-06-24 16:36:19 +02:00
libxml2-utils \
xmlstarlet \
&& \
2020-03-02 12:07:52 +01:00
apt-get clean && rm -rf /var/lib/apt/lists/*
2019-06-24 16:36:19 +02:00
2019-09-23 15:02:59 +02:00
2020-03-02 12:05:55 +01:00
# Install Leptonica and Tesseract.
RUN add-apt-repository ppa:alex-p/tesseract-ocr && \
apt-get update && \
apt-get install -y \
tesseract-ocr \
libtesseract-dev \
&& \
apt-get clean && rm -rf /var/lib/apt/lists/*
# Set up OCR-D logging
COPY ocrd_logging.py /etc/
2019-10-21 17:04:06 +02:00
# Build ocrd_olena
2020-03-09 16:49:43 +01:00
# XXX .deb needs an update
RUN curl -sSL -O https://qurator-data.de/~mike.gerber/olena_2.1-0+ocrd-git/olena-bin_2.1-0+ocrd-git_amd64.deb && \
dpkg -i --force-depends olena-bin_2.1-0+ocrd-git_amd64.deb && \
2020-03-02 12:06:50 +01:00
rm -f olena-bin_2.1-0+ocrd-git_amd64.deb && \
apt-get update && \
apt-get -f install -y && \
apt-get clean && rm -rf /var/lib/apt/lists/*
RUN pip3 install --no-cache-dir --upgrade pip && \
2020-03-09 16:49:43 +01:00
curl -sSL -o ocrd_olena.tar.gz https://github.com/OCR-D/ocrd_olena/archive/v1.1.4.tar.gz && \
2019-10-21 17:04:06 +02:00
mkdir ocrd_olena && \
tar xvz -C ocrd_olena --strip-components=1 -f ocrd_olena.tar.gz && \
cd ocrd_olena && \
sed -i 's/^install: deps$/install:/' Makefile && \
pip3 install --no-cache-dir ocrd && \
2019-10-21 17:04:06 +02:00
make install PREFIX=/usr/local && \
cd .. && rm -rf ocrd_olena ocrd_olena.tar.gz
# Copy OCR models
2019-10-07 12:36:40 +02:00
RUN mkdir -p /var/lib/calamari-models
COPY data/calamari-models/GT4HistOCR /var/lib/calamari-models/GT4HistOCR
2019-10-07 12:36:40 +02:00
RUN mkdir -p $TESSDATA_PREFIX
RUN curl -sSL -O https://qurator-data.de/mirror/github.com/tesseract-ocr/tessdata_best/archive/$TESSDATA_BEST_VERSION.tar.gz && \
tar xzf $TESSDATA_BEST_VERSION.tar.gz && \
mv tessdata_best-$TESSDATA_BEST_VERSION/* $TESSDATA_PREFIX/ && \
rm -rf $TESSDATA_BEST_VERSION.tar.gz
COPY data/tesseract-models/GT4HistOCR/GT4HistOCR_2000000.traineddata $TESSDATA_PREFIX/
COPY data/textline_detection /var/lib/textline_detection
2019-09-23 15:02:59 +02:00
# Install requirements
COPY requirements.txt /tmp/
RUN pip3 install --no-cache-dir --upgrade pip && \
pip3 install --no-cache-dir -r /tmp/requirements.txt && \
pip3 check
2019-06-24 16:36:19 +02:00
COPY my_ocrd_workflow /usr/bin/
COPY xsd/* /usr/share/xml/
2019-06-24 16:36:19 +02:00
2019-11-19 14:35:23 +01:00
2019-06-24 16:36:19 +02:00
WORKDIR /data
ENTRYPOINT ["/usr/bin/my_ocrd_workflow"]