From 66c9fa972a816ec845fb8632818fe550020def47 Mon Sep 17 00:00:00 2001 From: joschrew <91774427+joschrew@users.noreply.github.com> Date: Mon, 28 Oct 2024 12:42:35 +0100 Subject: [PATCH] Fix dockerfile --- Dockerfile | 33 ++++++++++++++++++++++++--------- Makefile | 23 ++++++++++++++++++----- pyproject.toml | 3 +++ 3 files changed, 45 insertions(+), 14 deletions(-) diff --git a/Dockerfile b/Dockerfile index 895055a..65fcf2e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,20 +1,35 @@ -FROM ocrd/core -MAINTAINER OCR-D +ARG DOCKER_BASE_IMAGE +FROM $DOCKER_BASE_IMAGE +ARG VCS_REF +ARG BUILD_DATE +LABEL \ + maintainer="https://ocr-d.de/kontakt" \ + org.label-schema.vcs-ref=$VCS_REF \ + org.label-schema.vcs-url="https://github.com/OCR-D/ocrd_calamari" \ + org.label-schema.build-date=$BUILD_DATE \ + org.opencontainers.image.vendor="DFG-Funded Initiative for Optical Character Recognition Development" \ + org.opencontainers.image.title="ocrd_calamari" \ + org.opencontainers.image.description="OCR-D compliant workspace processor for the functionality of Calamari OCR" \ + org.opencontainers.image.source="https://github.com/OCR-D/ocrd_calamari" \ + org.opencontainers.image.documentation="https://github.com/OCR-D/ocrd_calamari/blob/${VCS_REF}/README.md" \ + org.opencontainers.image.revision=$VCS_REF \ + org.opencontainers.image.created=$BUILD_DATE \ + org.opencontainers.image.base.name=$DOCKER_BASE_IMAGE ENV DEBIAN_FRONTEND noninteractive ENV PYTHONIOENCODING utf8 ENV LC_ALL C.UTF-8 ENV LANG C.UTF-8 -WORKDIR /build +WORKDIR /build/calamari COPY Makefile . -COPY setup.py . +COPY pyproject.toml . COPY ocrd-tool.json . COPY requirements.txt . COPY README.md . -COPY ocrd_calamari ocrd_calamari +COPY ocrd_calamari ./ocrd_calamari +RUN make install +RUN rm -rf /build/calamari -RUN pip3 install --upgrade pip && \ - pip3 install . && \ - pip3 check -ENTRYPOINT ["/usr/local/bin/ocrd-calamari-recognize"] +WORKDIR /data +VOLUME ["/data"] diff --git a/Makefile b/Makefile index cfa7cd8..7848d72 100644 --- a/Makefile +++ b/Makefile @@ -8,6 +8,9 @@ EXAMPLE = actevedef_718448162.first-page+binarization+segmentation # BEGIN-EVAL makefile-parser --make-help Makefile +DOCKER_BASE_IMAGE = docker.io/ocrd/core-cuda-tf2:v2.70.0 +DOCKER_TAG = 'ocrd/calamari' + help: @echo "" @echo " Targets" @@ -21,13 +24,16 @@ help: @echo " assets-clean Remove symlinks in test/assets" @echo " test Run unit tests" @echo " coverage Run unit tests and determine test coverage" + @echo " docker Build Docker image" @echo "" @echo " Variables" @echo "" - @echo " PYTHON '$(PYTHON)'" - @echo " PIP_INSTALL '$(PIP_INSTALL)'" - @echo " GIT_CLONE '$(GIT_CLONE)'" - @echo " MODEL '$(MODEL)'" + @echo " PYTHON '$(PYTHON)'" + @echo " PIP_INSTALL '$(PIP_INSTALL)'" + @echo " GIT_CLONE '$(GIT_CLONE)'" + @echo " MODEL '$(MODEL)'" + @echo " DOCKER_TAG '$(DOCKER_TAG)'" + @echo " DOCKER_BASE_IMAGE '$(DOCKER_BASE_IMAGE)'" # END-EVAL @@ -91,4 +97,11 @@ coverage: test/assets $(MODEL) coverage report coverage html -.PHONY: install assets-clean deps-test test coverage $(MODEL) example +docker: + docker build \ + --build-arg DOCKER_BASE_IMAGE=$(DOCKER_BASE_IMAGE) \ + --build-arg VCS_REF=$$(git rev-parse --short HEAD) \ + --build-arg BUILD_DATE=$$(date -u +"%Y-%m-%dT%H:%M:%SZ") \ + -t $(DOCKER_TAG) . + +.PHONY: install assets-clean deps-test test coverage $(MODEL) example docker diff --git a/pyproject.toml b/pyproject.toml index 8646876..e2b3566 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -40,6 +40,9 @@ Repository = "https://github.com/OCR-D/ocrd_calamari.git" dependencies = {file = ["requirements.txt"]} optional-dependencies.dev = {file = ["requirements-dev.txt"]} +[tool.setuptools.package-data] +"*" = ["*.json"] + [tool.setuptools.packages.find] where = ["."] include = ["ocrd_calamari"]