vumichien commited on
Commit
13f4fea
·
1 Parent(s): bfcea7c

Upload Flask app

Browse files
Files changed (1) hide show
  1. Dockerfile +28 -17
Dockerfile CHANGED
@@ -1,28 +1,39 @@
1
- # Sử dụng một image chính thức của Python 3
2
- FROM python:3.9-slim
3
 
4
- # Thiết lập biến môi trường để Python không tạo các file pyc
5
- ENV PYTHONDONTWRITEBYTECODE=1
6
- ENV PYTHONUNBUFFERED=1
7
-
8
- # Tạo và đặt thư mục làm việc cho ứng dụng FastAPI
9
  WORKDIR /app
10
 
11
- # Sao chép file requirements.txt vào container
12
- COPY requirements.txt /app/
 
 
 
 
 
 
 
 
 
 
 
13
 
14
- # Cài đặt các dependencies từ requirements.txt
15
- RUN pip install --no-cache-dir -r requirements.txt
16
 
17
- # Sao chép toàn bộ nguồn ứng dụng vào container
18
- COPY . /app/
 
 
19
 
20
- RUN mkdir -p /tmp && chmod -R 777 /tmp
 
 
21
 
22
- # Sao chép sở dữ liệu SQLite vào container
23
- COPY ./database.db /tmp/database.db
24
 
25
- # Expose port 5000 for FastAPI
26
  EXPOSE 5000
27
 
28
  # Chạy ứng dụng FastAPI bằng Uvicorn
 
1
+ # Sử dụng một image chính thức của Python 3.9
2
+ FROM python:3.9
3
 
4
+ # Thiết lập thư mục làm việc cho ứng dụng
 
 
 
 
5
  WORKDIR /app
6
 
7
+ # Tạo thư mục cache thiết lập quyền truy cập
8
+ RUN mkdir -p /app/cache/
9
+ RUN chmod -R 777 /app
10
+
11
+ # Đặt biến môi trường cache cho Transformers (nếu cần)
12
+ ENV TRANSFORMERS_CACHE=/app/cache/
13
+
14
+ # Sao chép và cài đặt các dependencies từ requirements.txt
15
+ COPY ./requirements.txt /app/requirements.txt
16
+ RUN pip install --no-cache-dir --upgrade -r /app/requirements.txt
17
+
18
+ # Cài đặt thêm các gói cần thiết
19
+ RUN apt-get update && apt-get install -y ffmpeg
20
 
21
+ # Sao chép toàn bộ nguồn vào container
22
+ COPY . .
23
 
24
+ # Tạo người dùng không phải root thiết lập quyền
25
+ RUN adduser --disabled-password --gecos '' appuser
26
+ RUN adduser appuser sudo
27
+ RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
28
 
29
+ # Đảm bảo quyền truy cập cho người dùng không phải root
30
+ RUN chown -R appuser:appuser /app
31
+ RUN chmod -R 777 /app
32
 
33
+ # Chạy ứng dụng với người dùng không phải root
34
+ USER appuser
35
 
36
+ # Expose port 5000 cho FastAPI
37
  EXPOSE 5000
38
 
39
  # Chạy ứng dụng FastAPI bằng Uvicorn