diff --git a/.github/workflows/test-eynollah.yml b/.github/workflows/test-eynollah.yml index 98ddc06..3a33dcf 100644 --- a/.github/workflows/test-eynollah.yml +++ b/.github/workflows/test-eynollah.yml @@ -34,3 +34,5 @@ jobs: pip install -r requirements-test.txt - name: Test with pytest run: make test + - name: Test docker build + run: make docker diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..6780bc2 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,26 @@ +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/qurator-spk/eynollah" \ + org.label-schema.build-date=$BUILD_DATE + +ENV DEBIAN_FRONTEND=noninteractive +ENV PYTHONIOENCODING=utf8 +ENV XDG_DATA_HOME=/usr/local/share + +WORKDIR /build-eynollah +COPY src/ ./src +COPY pyproject.toml . +COPY requirements.txt . +COPY README.md . +COPY Makefile . +RUN apt-get install -y --no-install-recommends g++ +RUN make install + +WORKDIR /data +VOLUME /data diff --git a/Makefile b/Makefile index e0ff6a9..a3b7b95 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,11 @@ EYNOLLAH_MODELS ?= $(PWD)/models_eynollah export EYNOLLAH_MODELS +# DOCKER_BASE_IMAGE = artefakt.dev.sbb.berlin:5000/sbb/ocrd_core:v2.68.0 +DOCKER_BASE_IMAGE = docker.io/ocrd/core:v2.68.0 +DOCKER_TAG = ocrd/eynollah + + # BEGIN-EVAL makefile-parser --make-help Makefile help: @@ -45,3 +50,12 @@ smoke-test: # Run unit tests test: pytest tests + +# Build docker image +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) . + diff --git a/README.md b/README.md index 292cfbc..916c556 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ :warning: Development is currently focused on achieving the best possible quality of results for a wide variety of historical documents and therefore processing can be very slow. We aim to improve this, but contributions are welcome. ## Installation -Python `3.8-3.11` with Tensorflow `2.12-2.15` on Linux are currently supported. +Python `3.8-3.11` with Tensorflow `<2.13` on Linux are currently supported. For (limited) GPU support the CUDA toolkit needs to be installed.