vumichien commited on
Commit
6e32c7c
·
1 Parent(s): 3020335

Refactor Dockerfile to create necessary directories and set permissions for appuser, ensuring proper access for AI model caching and application execution.

Browse files
Files changed (1) hide show
  1. Dockerfile +13 -6
Dockerfile CHANGED
@@ -8,9 +8,12 @@ RUN apt-get update && apt-get install -y \
8
  git \
9
  && rm -rf /var/lib/apt/lists/*
10
 
11
- # Tạo các thư mục cần thiết cấp quyền
12
- RUN mkdir -p /app/data /app/uploads /app/outputs /tmp/matplotlib-cache /tmp/huggingface-cache && \
13
- chmod 777 /app/data /app/uploads /app/outputs /tmp/matplotlib-cache /tmp/huggingface-cache
 
 
 
14
 
15
  # Thiết lập biến môi trường cho Matplotlib và Hugging Face
16
  ENV MPLCONFIGDIR=/tmp/matplotlib-cache
@@ -52,12 +55,16 @@ RUN echo "=== Checking abstractMapData.csv structure ===" && \
52
  # Thêm đường dẫn meisai-check-ai vào PYTHONPATH
53
  ENV PYTHONPATH="${PYTHONPATH}:/app/meisai-check-ai"
54
 
 
 
 
 
 
 
55
  # Expose port
56
  EXPOSE 7860
57
 
58
- # Chạy với user không phải root để tránh vấn đề quyền truy cập
59
- RUN useradd -m appuser
60
- RUN chown -R appuser:appuser /app /tmp/matplotlib-cache /tmp/huggingface-cache
61
  USER appuser
62
 
63
  # Chạy ứng dụng với Uvicorn
 
8
  git \
9
  && rm -rf /var/lib/apt/lists/*
10
 
11
+ # Tạo user appuser trước khi tạo thư mục
12
+ RUN useradd -m appuser
13
+
14
+ # Tạo các thư mục cần thiết và cấp quyền cho appuser
15
+ RUN mkdir -p /app/data /app/uploads /app/outputs /tmp/matplotlib-cache /tmp/huggingface-cache /app/meisai-check-ai/data && \
16
+ chown -R appuser:appuser /app /tmp/matplotlib-cache /tmp/huggingface-cache
17
 
18
  # Thiết lập biến môi trường cho Matplotlib và Hugging Face
19
  ENV MPLCONFIGDIR=/tmp/matplotlib-cache
 
55
  # Thêm đường dẫn meisai-check-ai vào PYTHONPATH
56
  ENV PYTHONPATH="${PYTHONPATH}:/app/meisai-check-ai"
57
 
58
+ # Tạo các thư mục cache cần thiết cho AI model và cấp quyền đầy đủ cho appuser
59
+ RUN mkdir -p /app/meisai-check-ai/data && \
60
+ chown -R appuser:appuser /app && \
61
+ chmod -R 755 /app && \
62
+ chmod -R 777 /app/data /app/uploads /app/outputs /app/meisai-check-ai/data /tmp/matplotlib-cache /tmp/huggingface-cache
63
+
64
  # Expose port
65
  EXPOSE 7860
66
 
67
+ # Chuyển sang user appuser sau khi đã cấp quyền
 
 
68
  USER appuser
69
 
70
  # Chạy ứng dụng với Uvicorn