File size: 837 Bytes
8f64a95
 
e7cf806
cecd57a
e7cf806
 
cecd57a
 
 
0c8234a
 
 
 
 
 
8f64a95
bafe649
8f64a95
0c8234a
 
 
 
 
 
 
3acb78d
 
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
# Use official Python 3.1 image
FROM python:3.2

# Set working directory to /app (root of the repository)
WORKDIR /app

# Copy requirements file
COPY ./requirements.txt /app/requirements.txt

# Install dependencies including logging
RUN pip install --no-cache-dir --upgrade -r requirements.txt loguru

# Copy the entire project
COPY . /app

# Create user if it doesn't exist, then switch to it and pre-create log file
RUN id -u user &>/dev/null || useradd -m -u 1000 user
RUN mkdir -p /home/user && touch /home/user/app.log && chown user:user /home/user/app.log
USER user
ENV HOME=/home/user \
    PATH=/home/user/.local/bin:$PATH

# Expose port
EXPOSE 7860

# Command to run the app with debug logging and custom log file
CMD ["sh", "-c", "uvicorn app.main:app --host 0.0.0.0 --port 7860 --log-level debug --log-config log_config.json"]