Spaces:
Sleeping
Sleeping
AdityaAdaki
commited on
Commit
·
87aa947
1
Parent(s):
f2b66b8
Fix Chrome and ChromeDriver version mismatch
Browse files- Dockerfile +10 -9
Dockerfile
CHANGED
@@ -5,31 +5,34 @@ FROM python:3.9
|
|
5 |
|
6 |
WORKDIR /app
|
7 |
|
8 |
-
# Install system dependencies
|
9 |
RUN apt-get update && apt-get install -y \
|
10 |
wget \
|
11 |
unzip \
|
12 |
gnupg2 \
|
13 |
libgl1-mesa-glx \
|
14 |
libglib2.0-0 \
|
15 |
-
&&
|
|
|
|
|
|
|
16 |
&& echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list \
|
17 |
&& apt-get update \
|
18 |
&& apt-get install -y google-chrome-stable \
|
19 |
&& rm -rf /var/lib/apt/lists/*
|
20 |
|
21 |
-
#
|
22 |
-
RUN
|
|
|
|
|
23 |
&& unzip chromedriver_linux64.zip \
|
24 |
&& mv chromedriver /usr/local/bin/ \
|
25 |
&& chmod +x /usr/local/bin/chromedriver \
|
26 |
&& rm chromedriver_linux64.zip
|
27 |
|
28 |
-
# Create a non-root user
|
29 |
-
RUN useradd -m -u 1000 user
|
30 |
-
|
31 |
# Create necessary directories and set permissions
|
32 |
RUN mkdir -p /app/static/screenshots /app/static/uploads /app/static/masks /app/templates \
|
|
|
33 |
&& chown -R user:user /app
|
34 |
|
35 |
USER user
|
@@ -44,8 +47,6 @@ COPY --chown=user . .
|
|
44 |
# Set environment variables
|
45 |
ENV PATH="/home/user/.local/bin:${PATH}"
|
46 |
ENV PYTHONPATH="/home/user/.local/lib/python3.9/site-packages:${PYTHONPATH}"
|
47 |
-
|
48 |
-
# Update the chrome binary location in the code
|
49 |
ENV CHROME_BINARY_LOCATION="/usr/bin/google-chrome"
|
50 |
|
51 |
# Run the application
|
|
|
5 |
|
6 |
WORKDIR /app
|
7 |
|
8 |
+
# Install system dependencies
|
9 |
RUN apt-get update && apt-get install -y \
|
10 |
wget \
|
11 |
unzip \
|
12 |
gnupg2 \
|
13 |
libgl1-mesa-glx \
|
14 |
libglib2.0-0 \
|
15 |
+
&& rm -rf /var/lib/apt/lists/*
|
16 |
+
|
17 |
+
# Install Chrome
|
18 |
+
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
|
19 |
&& echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list \
|
20 |
&& apt-get update \
|
21 |
&& apt-get install -y google-chrome-stable \
|
22 |
&& rm -rf /var/lib/apt/lists/*
|
23 |
|
24 |
+
# Get Chrome version and install matching ChromeDriver
|
25 |
+
RUN CHROME_VERSION=$(google-chrome --version | awk '{ print $3 }' | cut -d'.' -f1) \
|
26 |
+
&& CHROMEDRIVER_VERSION=$(wget -qO- "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_$CHROME_VERSION") \
|
27 |
+
&& wget -q "https://chromedriver.storage.googleapis.com/${CHROMEDRIVER_VERSION}/chromedriver_linux64.zip" \
|
28 |
&& unzip chromedriver_linux64.zip \
|
29 |
&& mv chromedriver /usr/local/bin/ \
|
30 |
&& chmod +x /usr/local/bin/chromedriver \
|
31 |
&& rm chromedriver_linux64.zip
|
32 |
|
|
|
|
|
|
|
33 |
# Create necessary directories and set permissions
|
34 |
RUN mkdir -p /app/static/screenshots /app/static/uploads /app/static/masks /app/templates \
|
35 |
+
&& useradd -m -u 1000 user \
|
36 |
&& chown -R user:user /app
|
37 |
|
38 |
USER user
|
|
|
47 |
# Set environment variables
|
48 |
ENV PATH="/home/user/.local/bin:${PATH}"
|
49 |
ENV PYTHONPATH="/home/user/.local/lib/python3.9/site-packages:${PYTHONPATH}"
|
|
|
|
|
50 |
ENV CHROME_BINARY_LOCATION="/usr/bin/google-chrome"
|
51 |
|
52 |
# Run the application
|