-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDockerfile.prod
47 lines (34 loc) · 1.37 KB
/
Dockerfile.prod
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
# Use the official Python image from Docker Hub
FROM python:3.11
# Set the working directory inside the container
WORKDIR /app
# Install dependencies
RUN apt-get update && apt-get install -y \
sudo \
wget \
firefox-esr \
gettext
RUN pip install --upgrade pip
COPY ./requirements.prod.txt .
RUN pip install -r requirements.prod.txt
# Download Python source (Needed for internationalization)
RUN wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tgz \
&& tar xzf Python-3.11.0.tgz \
&& mv Python-3.11.0 /usr/local/src/ \
&& rm Python-3.11.0.tgz
# Download and install geckodriver
RUN wget https://github.com/mozilla/geckodriver/releases/download/v0.34.0/geckodriver-v0.34.0-linux64.tar.gz && \
tar -xvzf geckodriver-v0.34.0-linux64.tar.gz && \
chmod +x geckodriver && \
mv geckodriver /usr/local/bin/
# Clean up
RUN rm geckodriver-v0.34.0-linux64.tar.gz
# Copy the rest of the application code into the container
COPY . .
# Compile the .po file into a .mo file
#RUN ls -l /usr/local/src/Python-3.11.0/Tools/i18n/msgfmt.py
RUN chmod +x /usr/local/src/Python-3.11.0/Tools/i18n/msgfmt.py
RUN /usr/local/src/Python-3.11.0/Tools/i18n/msgfmt.py /app/locale/de/LC_MESSAGES/base.po /app/locale/de/LC_MESSAGES/base
# Expose the port that Streamlit will run on
EXPOSE 8501
CMD ["sh", "-c", "cd db && python3 vector_store.py --create_db true && cd .. "]