File size: 1,242 Bytes
c4e5fab
 
a538abb
c4e5fab
 
a538abb
8b69cb4
 
bb4d908
8b69cb4
 
bb4d908
8b69cb4
c4e5fab
 
bb41ac8
a538abb
69f4aa2
 
 
 
 
 
 
 
c4e5fab
 
a538abb
c4e5fab
 
a538abb
28c2a3d
afdcb1a
1d0bfd5
a538abb
28c2a3d
060c872
 
bb41ac8
 
 
28c2a3d
5137457
28c2a3d
 
9463452
28c2a3d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# Use an official Python runtime as a parent image
FROM python:3.9-slim

# Set the working directory to /app
WORKDIR /app

# make directory /app/files/
RUN mkdir /app/files/
RUN mkdir /app/ckpt/
# grant permission to write to /app/files/
RUN chmod 777 /app/files/ 
RUN chmod 777 /app/ckpt/

# Copy the requirements file into the container
COPY requirements.txt .
COPY serve_grobid.sh .

# JAVA
RUN apt-get update && \
    apt-get install -y openjdk-11-jre-headless && \
    apt-get clean;
ENV JAVA_HOME /usr/lib/jvm/java-11-openjdk-amd64/
ENV PATH $JAVA_HOME/bin:$PATH


# Install any needed packages specified in requirements.txt
RUN pip install --no-cache-dir -r requirements.txt

# Copy the current directory contents into the container at /app
COPY . /app

# Expose port 7860 for the streamlit app to listen on
EXPOSE 5000
EXPOSE 7860

# open the grobid server
RUN apt-get update && \
    apt-get install -y wget unzip
RUN chmod +x serve_grobid.sh
RUN ./serve_grobid.sh 

# open the backend server
RUN python backend.py  

# Run the command to start the streamlit app
CMD ["streamlit", "run", "frontend.py", "--server.address", "0.0.0.0", "--server.port", "7860", "--server.enableCORS", "true", "--server.enableXsrfProtection", "false"]