Adieee5 commited on
Commit
d1b96b3
·
verified ·
1 Parent(s): 95fd740

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +31 -0
Dockerfile CHANGED
@@ -1,13 +1,44 @@
1
  FROM python:3.9
2
 
 
3
  RUN useradd -m -u 1000 user
4
  USER user
5
  ENV PATH="/home/user/.local/bin:$PATH"
6
 
 
7
  WORKDIR /app
8
 
 
9
  COPY --chown=user ./requirements.txt requirements.txt
10
  RUN pip install --no-cache-dir --upgrade -r requirements.txt
11
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  COPY --chown=user . /app
 
 
13
  CMD ["gunicorn", "-b", "0.0.0.0:7860", "app:app"]
 
1
  FROM python:3.9
2
 
3
+ # Create a non-root user
4
  RUN useradd -m -u 1000 user
5
  USER user
6
  ENV PATH="/home/user/.local/bin:$PATH"
7
 
8
+ # Set working directory
9
  WORKDIR /app
10
 
11
+ # Copy and install Python dependencies
12
  COPY --chown=user ./requirements.txt requirements.txt
13
  RUN pip install --no-cache-dir --upgrade -r requirements.txt
14
 
15
+ # Install system dependencies and build tools
16
+ USER root
17
+ RUN apt-get update && apt-get install -y \
18
+ python3 \
19
+ python3-pip \
20
+ python3-venv \
21
+ wget \
22
+ build-essential
23
+
24
+ # Install newer SQLite version
25
+ WORKDIR /tmp
26
+ RUN wget https://www.sqlite.org/2023/sqlite-autoconf-3410200.tar.gz \
27
+ && tar -xvf sqlite-autoconf-3410200.tar.gz \
28
+ && cd sqlite-autoconf-3410200 \
29
+ && ./configure \
30
+ && make \
31
+ && make install
32
+
33
+ # Update library path to use the new SQLite
34
+ ENV LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
35
+
36
+ # Go back to non-root user and app directory
37
+ USER user
38
+ WORKDIR /app
39
+
40
+ # Copy the app source code
41
  COPY --chown=user . /app
42
+
43
+ # Start the app
44
  CMD ["gunicorn", "-b", "0.0.0.0:7860", "app:app"]