FROM nvidia/cuda:12.1.0-cudnn8-runtime-ubuntu22.04 ARG PIP_INSTALL="pip install --no-cache-dir" ARG OCRD_VERSION_MINIMUM="2.47.0" ENV LC_ALL=C.UTF-8 LANG=C.UTF-8 ENV PIP_DEFAULT_TIMEOUT=120 RUN echo "APT::Acquire::Retries \"3\";" > /etc/apt/apt.conf.d/80-retries && \ apt-get update && \ apt-get install -y \ build-essential \ curl \ git \ xz-utils \ pkg-config \ # For add-apt-repository: software-properties-common \ # XML utils libxml2-utils \ xmlstarlet \ # OCR-D uses ImageMagick for pixel density estimation imagemagick \ # pyenv builds # TODO: builder container? libz-dev \ libssl-dev \ libbz2-dev \ liblzma-dev \ libncurses-dev \ libffi-dev \ libreadline-dev \ libsqlite3-dev \ libmagic-dev \ && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* # Set up OCR-D logging RUN echo "setOverrideLogLevel(os.getenv('LOG_LEVEL', 'INFO'))" >/etc/ocrd_logging.py # Install pyenv # TODO: do not run as root # TODO: does just saying "3.7" work as intended? ENV HOME=/root ENV PYENV_ROOT=/usr/local/share/pyenv ENV PATH=$PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH RUN \ git clone --depth=1 https://github.com/yyuu/pyenv.git $PYENV_ROOT && \ pyenv install 3.7 && \ pyenv global 3.7 && \ pyenv rehash && \ pip install -U pip wheel && \ pip install setuptools # Install pip installable-stuff RUN ${PIP_INSTALL} \ "ocrd >= ${OCRD_VERSION_MINIMUM}" # Check pip dependencies RUN pip check WORKDIR /data # Default command CMD ['ocrd']