vumichien commited on
Commit
79d472e
·
1 Parent(s): 4a4d878
Files changed (1) hide show
  1. Dockerfile +15 -3
Dockerfile CHANGED
@@ -9,11 +9,14 @@ RUN apt-get update && apt-get install -y \
9
  && rm -rf /var/lib/apt/lists/*
10
 
11
  # Tạo các thư mục cần thiết và cấp quyền
12
- RUN mkdir -p /app/data /app/uploads /app/outputs /tmp/matplotlib-cache && \
13
- chmod 777 /app/data /app/uploads /app/outputs /tmp/matplotlib-cache
14
 
15
- # Thiết lập biến môi trường cho Matplotlib
16
  ENV MPLCONFIGDIR=/tmp/matplotlib-cache
 
 
 
17
 
18
  # Copy requirements từ project hiện tại
19
  COPY requirements.txt .
@@ -32,12 +35,21 @@ RUN pip install --no-cache-dir -r meisai-check-ai/requirements.txt
32
  # Copy code của API vào container
33
  COPY . .
34
 
 
 
 
 
35
  # Thêm đường dẫn meisai-check-ai vào PYTHONPATH
36
  ENV PYTHONPATH="${PYTHONPATH}:/app/meisai-check-ai"
37
 
38
  # Expose port
39
  EXPOSE 7860
40
 
 
 
 
 
 
41
  # Chạy ứng dụng với Uvicorn
42
  # Lưu ý: Hugging Face Spaces sử dụng port 7860
43
  CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]
 
9
  && rm -rf /var/lib/apt/lists/*
10
 
11
  # Tạo các thư mục cần thiết và 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
17
+ ENV TRANSFORMERS_CACHE=/tmp/huggingface-cache
18
+ ENV HF_HOME=/tmp/huggingface-cache
19
+ ENV HF_DATASETS_CACHE=/tmp/huggingface-cache
20
 
21
  # Copy requirements từ project hiện tại
22
  COPY requirements.txt .
 
35
  # Copy code của API vào container
36
  COPY . .
37
 
38
+ # Sao chép các file dữ liệu mẫu vào thư mục data
39
+ RUN mkdir -p /app/data
40
+ COPY ./data/* /app/data/
41
+
42
  # Thêm đường dẫn meisai-check-ai vào PYTHONPATH
43
  ENV PYTHONPATH="${PYTHONPATH}:/app/meisai-check-ai"
44
 
45
  # Expose port
46
  EXPOSE 7860
47
 
48
+ # Chạy với user không phải root để tránh vấn đề quyền truy cập
49
+ RUN useradd -m appuser
50
+ RUN chown -R appuser:appuser /app /tmp/matplotlib-cache /tmp/huggingface-cache
51
+ USER appuser
52
+
53
  # Chạy ứng dụng với Uvicorn
54
  # Lưu ý: Hugging Face Spaces sử dụng port 7860
55
  CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]