# Use an official Python runtime as a parent image | |
FROM python:3.9-slim | |
# Set the working directory to /app | |
WORKDIR /app | |
# Copy the requirements file into the container | |
COPY requirements.txt . | |
COPY serve_grobid.sh . | |
# 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 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"] | |