fixing permission issues on docker
Browse files- Dockerfile +19 -7
Dockerfile
CHANGED
@@ -1,15 +1,27 @@
|
|
1 |
FROM python:3.10.9
|
2 |
|
3 |
-
|
|
|
4 |
|
5 |
-
|
|
|
|
|
|
|
6 |
|
7 |
-
|
|
|
8 |
|
9 |
-
|
|
|
10 |
|
11 |
-
|
|
|
|
|
12 |
|
13 |
-
COPY . .
|
14 |
|
15 |
-
|
|
|
|
|
|
|
|
|
|
|
|
1 |
FROM python:3.10.9
|
2 |
|
3 |
+
# Create user with ID 1000 to match host user (if applicable)
|
4 |
+
RUN useradd -m -u 1000 user
|
5 |
|
6 |
+
# Switch to user and set environment variables
|
7 |
+
USER user
|
8 |
+
ENV HOME=/home/user
|
9 |
+
ENV PATH=$HOME/.local/bin:$PATH
|
10 |
|
11 |
+
# Create WORKDIR within user's home directory
|
12 |
+
WORKDIR $HOME/app
|
13 |
|
14 |
+
# Install dependencies with proper ownership
|
15 |
+
RUN pip install --no-cache-dir --upgrade -r "$HOME/app/requirements.txt"
|
16 |
|
17 |
+
# Copy project files with user ownership
|
18 |
+
COPY --chown=user ./requirements.txt $HOME/app/requirements.txt
|
19 |
+
COPY --chown=user . $HOME/app
|
20 |
|
|
|
21 |
|
22 |
+
# Set permissions for temporary directory if needed (more secure approach)
|
23 |
+
RUN mkdir -p "$HOME/temp"
|
24 |
+
RUN chmod 755 "$HOME/temp"
|
25 |
+
|
26 |
+
# CMD execution
|
27 |
+
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]
|