FROM python:3.8.9 # Set environment variables for Java ENV JAVA_HOME /usr/lib/jvm/java-11-openjdk-amd64 ENV PATH $JAVA_HOME/bin:$PATH # Install OpenJDK 11 RUN apt-get update && \ apt-get install -y openjdk-11-jdk && \ apt-get clean; # Install Gradle ENV GRADLE_HOME /opt/gradle ENV PATH $GRADLE_HOME/bin:$PATH ENV GRADLE_VERSION 7.3 RUN wget -q https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip -P /tmp && \ unzip -q /tmp/gradle-${GRADLE_VERSION}-bin.zip -d /opt && \ ln -s /opt/gradle-${GRADLE_VERSION} /opt/gradle && \ rm /tmp/gradle-${GRADLE_VERSION}-bin.zip RUN apt-get update && \ apt-get -y --no-install-recommends install unzip WORKDIR /app RUN git clone https://github.com/kermitt2/grobid.git RUN cd grobid && \ ./gradlew clean install && \ bash -c "./gradlew run &" && \ cd .. COPY ./requirements.txt /app/requirements.txt COPY ./packages.txt /app/packages.txt RUN apt-get update && xargs -r -a /app/packages.txt apt-get install -y && rm -rf /var/lib/apt/lists/* RUN pip3 install --no-cache-dir -r /app/requirements.txt RUN git clone https://github.com/kermitt2/grobid_client_python && \ cd grobid_client_python && \ python3 setup.py install && \ cd .. # User RUN useradd -m -u 1000 user USER user ENV HOME /home/user ENV PATH $HOME/.local/bin:$PATH WORKDIR $HOME RUN mkdir app WORKDIR $HOME/app COPY . $HOME/app EXPOSE 8501 CMD streamlit run app.py \ --server.headless true \ --server.enableCORS false \ --server.enableXsrfProtection false \ --server.fileWatcherType none