Nolist commited on
Commit
8faf6e9
·
verified ·
1 Parent(s): f6c9a0f

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +11 -22
Dockerfile CHANGED
@@ -1,39 +1,28 @@
1
- # Sử dụng image Python cơ bản của Streamlit (có sẵn Streamlit)
 
 
2
  FROM python:3.9-slim-buster
3
 
4
- # Tạo một người dùng không quyền root để tăng cường bảo mật
5
  RUN useradd -m -u 1000 user
6
  USER user
7
 
8
- # Đặt biến môi trường cho PATH để các thư viện được cài đặt có thể truy cập được
9
  ENV PATH="/home/user/.local/bin:$PATH"
10
-
11
- # Đặt thư mục làm việc trong container
12
  WORKDIR /app
13
 
14
- # Sao chép các file của ứng dụng vào container
15
- # --chown=user đảm bảo quyền sở hữu cho người dùng 'user'
16
  COPY --chown=user . /app
17
 
18
- # Cài đặt các thư viện từ requirements.txt
19
- # Đảm bảo đã thêm 'openai' vào requirements.txt
20
  RUN pip install --no-cache-dir -r requirements.txt
21
 
22
- # Đặt biến môi trường để NLTK tìm data thư mục cục bộ của ứng dụng
23
  ENV NLTK_DATA=/app/nltk_data
24
-
25
- # Lệnh tải NLTK stopwords (chỉ chạy một lần trong quá trình build Docker)
26
- # Điều này giúp đảm bảo stopwords có sẵn khi ứng dụng chạy
27
  RUN python -c "import nltk; nltk.download('stopwords', download_dir='/app/nltk_data')"
28
 
29
- # Thiết lập API key cho OpenAI (đặt giá trị thông qua biến môi trường khi chạy container)
30
- ARG OPENAI_API_KEY
31
- ENV OPENAI_API_KEY=${OPENAI_API_KEY}
32
-
33
- # Expose cổng mà Streamlit app sẽ lắng nghe (Hugging Face Spaces dùng 7860 cho Docker/Streamlit)
34
  EXPOSE 7860
35
 
36
- # Lệnh để chạy ứng dụng Streamlit
37
- # --server.port 7860 để Streamlit lắng nghe đúng cổng
38
- # --server.address 0.0.0.0 để lắng nghe tất cả các giao diện mạng
39
- CMD ["streamlit", "run", "app.py", "--server.port", "7860", "--server.address", "0.0.0.0"]
 
1
+ # --- Dockerfile ---
2
+
3
+ # Sử dụng image Python nhẹ có sẵn Streamlit
4
  FROM python:3.9-slim-buster
5
 
6
+ # Tạo user không phải root
7
  RUN useradd -m -u 1000 user
8
  USER user
9
 
10
+ # Thiết lập môi trường
11
  ENV PATH="/home/user/.local/bin:$PATH"
 
 
12
  WORKDIR /app
13
 
14
+ # Sao chép nguồn
 
15
  COPY --chown=user . /app
16
 
17
+ # Cài thư viện Python
 
18
  RUN pip install --no-cache-dir -r requirements.txt
19
 
20
+ # Tải trước NLTK stopwords để tránh phải tải lại khi chạy
21
  ENV NLTK_DATA=/app/nltk_data
 
 
 
22
  RUN python -c "import nltk; nltk.download('stopwords', download_dir='/app/nltk_data')"
23
 
24
+ # Mở cổng 7860 cho Streamlit (Hugging Face Spaces)
 
 
 
 
25
  EXPOSE 7860
26
 
27
+ # Chạy ứng dụng Streamlit
28
+ CMD ["streamlit", "run", "app.py", "--server.port", "7860", "--server.address", "0.0.0.0"]