File size: 1,222 Bytes
9fcc41f
 
5fc0408
2f0c092
5fc0408
 
cf053f6
71694d5
eaca758
5fc0408
 
eaca758
f15e88e
 
 
 
abf4f97
2f0c092
5fc0408
9fcc41f
 
5fc0408
9fcc41f
 
5fc0408
abf4f97
1bbcd61
5fc0408
abf4f97
dfc22dd
 
abf4f97
6f7851a
f15e88e
abf4f97
729014c
5fc0408
 
 
 
abf4f97
94f266a
5fc0408
b0bc1bf
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
FROM python:3.9

# Create a user with UID 1000
RUN useradd -m -u 1000 user

# Set the working directory and user environment variables
ENV HOME=/ \
    PATH=/bin:$PATH

# Switch to the user's home directory
WORKDIR $HOME

# Create a new directory named 'app'
RUN mkdir -p $HOME/app

# Copy the application files into the 'app' directory
COPY --chown=user:user . /app

# Copy the requirements file to the /code directory
COPY ./requirements.txt /code/requirements.txt

# Install the Python dependencies
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt

# Create a directory for cache and set permissions
RUN mkdir -p /.cache && chmod 777 /.cache && chown user:user /.cache

# Create the database file and set permissions
RUN touch /app/users.db && chmod 777 /app/users.db && chown user:user /app/users.db

# Change ownership of mentor.txt and temp_mentor.txt
RUN chown user:user /app/mentor.txt /app/temp_mentor.txt

# Change ownership of the 'app' directory
RUN chown user:user /app

# Switch back to the user
USER user

# Set the working directory for the application
WORKDIR /app

# Start the application using gunicorn
CMD ["gunicorn", "-w", "4", "-b", "0.0.0.0:7860", "--timeout", "300", "main:app"]