AdityaAdaki commited on
Commit
87aa947
·
1 Parent(s): f2b66b8

Fix Chrome and ChromeDriver version mismatch

Browse files
Files changed (1) hide show
  1. Dockerfile +10 -9
Dockerfile CHANGED
@@ -5,31 +5,34 @@ FROM python:3.9
5
 
6
  WORKDIR /app
7
 
8
- # Install system dependencies and Chrome
9
  RUN apt-get update && apt-get install -y \
10
  wget \
11
  unzip \
12
  gnupg2 \
13
  libgl1-mesa-glx \
14
  libglib2.0-0 \
15
- && wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
 
 
 
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
- # Install specific version of ChromeDriver
22
- RUN wget -q "https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip" \
 
 
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