FROM debian:10-slim


LABEL maintainer="inf_sfb1288@lists.uni-bielefeld.de"


ENV LANG=C.UTF-8


RUN apt-get update \
 && apt-get install -y --no-install-recommends \
      python2.7 \
      python3.7 \
      python3-pip \
      zip \
 && pip3 install \
      chardet


ENV PYFLOW_VERSION=1.1.20
ADD "https://github.com/Illumina/pyflow/releases/download/v${PYFLOW_VERSION}/pyflow-${PYFLOW_VERSION}.tar.gz" .
RUN tar -xzf "pyflow-${PYFLOW_VERSION}.tar.gz" \
 && cd "pyflow-${PYFLOW_VERSION}" \
 && python2.7 setup.py build install \
 && cd .. \
 && rm -rf \
      "pyflow-${PYFLOW_VERSION}" \
      "pyflow-${PYFLOW_VERSION}.tar.gz"


ENV SPACY_VERSION=2.2.4
ENV SPACY_MODELS_VERSION=2.2.5
RUN pip3 install "spacy==${SPACY_VERSION}" \
 && python3 -m spacy download "de_core_news_sm-${SPACY_MODELS_VERSION}" --direct \
 && python3 -m spacy download "el_core_news_sm-${SPACY_MODELS_VERSION}" --direct \
 && python3 -m spacy download "en_core_web_sm-${SPACY_MODELS_VERSION}" --direct \
 && python3 -m spacy download "es_core_news_sm-${SPACY_MODELS_VERSION}" --direct \
 && python3 -m spacy download "fr_core_news_sm-${SPACY_MODELS_VERSION}" --direct \
 && python3 -m spacy download "it_core_news_sm-${SPACY_MODELS_VERSION}" --direct \
 && python3 -m spacy download "nl_core_news_sm-${SPACY_MODELS_VERSION}" --direct \
 && python3 -m spacy download "pt_core_news_sm-${SPACY_MODELS_VERSION}" --direct


RUN rm -rf /var/lib/apt/lists/*


COPY nlp /usr/local/bin
COPY spacy-nlp /usr/local/bin


ENTRYPOINT ["nlp"]
CMD ["--help"]