File size: 2,447 Bytes
6278677
 
cc9f92c
6278677
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cc9f92c
6278677
 
feaa33a
 
 
 
6278677
 
f11bcc1
4461325
feaa33a
10e3225
6278677
7e7a852
 
6278677
7e7a852
6278677
 
cc9f92c
6278677
7e7a852
cc9f92c
6278677
 
 
 
efa2743
6278677
 
cc9f92c
 
 
889c14c
6278677
 
cc9f92c
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# # Use a Python base image
# FROM  nvidia/cuda:12.4.1-runtime-ubuntu22.04

# # Set the working directory
# WORKDIR /DocQA
# # Install dependencies
# RUN apt-get update && apt-get install -y \
#     git \
#     python3.10 \
#     python3-pip \
#     && apt-get clean


# RUN apt-get install poppler-utils -y


# RUN pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113
# RUN useradd -m -u 1000 user

# USER user

# ENV HOME=/home/user \
# 	PATH=/home/user/.local/bin:$PATH

# WORKDIR $HOME/app
# # Copy the requirements.txt file
# COPY --chown=user requirements.txt $HOME/app

# RUN pip install --no-cache-dir -r requirements.txt 

# # Copy the rest of the application codeDocQA
# COPY --chown=user images $HOME/app
# COPY --chown=user app.py $HOME/app
# COPY --chown=user ./classification.py $HOME/app
# COPY --chown=user donut_inference.py $HOME/app
# COPY --chown=user non_form_llama_parse.py $HOME/app
# COPY --chown=user RAG.py $HOME/app
# COPY --chown=user best_resnet152_model.h5 $HOME/app
# COPY --chown=user Model $HOME/app

# # Expose the port the app runs on
# # EXPOSE 7860
# EXPOSE 8501


# # Start the application
# # CMD ["streamlit", "run", "app.py"]
# ENTRYPOINT ["streamlit", "run","app.py" ,"--server.enableXsrfProtection", "false"]
# Use a base image from NVIDIA that includes CUDA and cuDNN
FROM nvidia/cuda:12.4.1-runtime-ubuntu22.04

# Set the working directory in the container
WORKDIR /DocQA

# Install system dependencies, including Python and utilities
RUN apt-get update && apt-get install -y \
    git \
    python3.10 \
    python3-pip \
    poppler-utils \
    && apt-get clean && rm -rf /var/lib/apt/lists/*




# Add a new user to avoid running as root
RUN useradd -m -u 1000 user

# Switch to the new user
USER user
ENV HOME=/home/user
ENV PATH=/home/user/.local/bin:$PATH

# Set the working directory for the application
WORKDIR $HOME/app

# Copy the requirements.txt first to leverage Docker cache
COPY --chown=user requirements.txt $HOME/app/
RUN pip install --no-cache-dir -r requirements.txt
RUN pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113

# Copy the rest of the application's code to the container
COPY --chown=user . $HOME/app

# Expose the port the app runs on
EXPOSE 8501

# Set the entry point to run the application
ENTRYPOINT ["streamlit", "run", "app.py", "--server.enableXsrfProtection", "false"]