tosanoob commited on
Commit
25d1e83
·
1 Parent(s): f63d7fd

feat: add Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +47 -0
Dockerfile ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.10-slim
2
+
3
+ WORKDIR /app
4
+
5
+ # Cài đặt các gói phụ thuộc hệ thống cần thiết
6
+ # Bao gồm các gói cho weasyprint (Cairo, Pango) và dependencies khác
7
+ RUN apt-get update && apt-get install -y \
8
+ build-essential \
9
+ curl \
10
+ git \
11
+ libcairo2-dev \
12
+ libpango1.0-dev \
13
+ libgdk-pixbuf2.0-dev \
14
+ libffi-dev \
15
+ fontconfig \
16
+ fonts-liberation \
17
+ libharfbuzz-dev \
18
+ libfreetype-dev \
19
+ libjpeg-dev \
20
+ libpng-dev \
21
+ && rm -rf /var/lib/apt/lists/*
22
+
23
+ # Copy requirements trước để tận dụng caching của Docker
24
+ COPY requirements.txt ./
25
+ RUN pip3 install --no-cache-dir -r requirements.txt
26
+
27
+ # Copy toàn bộ code vào container
28
+ COPY . .
29
+
30
+ # Tạo thư mục static nếu chưa tồn tại
31
+ RUN mkdir -p static
32
+
33
+ # Cấp quyền truy cập
34
+ RUN chmod -R 755 .
35
+
36
+ # Thiết lập biến môi trường
37
+ ENV LC_ALL=C.UTF-8
38
+ ENV LANG=C.UTF-8
39
+
40
+ # Mở cổng cho Streamlit
41
+ EXPOSE 8501
42
+
43
+ # Kiểm tra sức khỏe của ứng dụng
44
+ HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health || exit 1
45
+
46
+ # Khởi chạy ứng dụng Streamlit
47
+ ENTRYPOINT ["streamlit", "run", "Home.py", "--server.port=8501", "--server.address=0.0.0.0"]