File size: 604 Bytes
2ce2e45
93edcef
 
 
 
 
2ce2e45
93edcef
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
FROM python:3.12

# Create a dedicated non-root user & group
RUN addgroup --system appgroup && adduser --system --ingroup appgroup appuser

# Create working dirs
WORKDIR /app
RUN mkdir -p /app/logs && mkdir -p /app/venv && chown -R appuser:appgroup /app

# Copy code and requirements
COPY . /app/

# Install venv + dependencies as root
RUN python -m venv /app/venv \
 && /app/venv/bin/pip install --upgrade pip \
 && /app/venv/bin/pip install --no-cache-dir -r requirements.txt

# Switch to non-root user
USER appuser

# Default command always uses venv Python
CMD ["/app/venv/bin/python", "manager.py"]