File size: 1,252 Bytes
13f4fea
 
8bc50ed
13f4fea
8bc50ed
 
13f4fea
 
 
 
 
 
 
 
 
 
 
 
 
8bc50ed
13f4fea
 
8bc50ed
13f4fea
 
 
 
8bc50ed
13f4fea
 
 
91dccbb
13f4fea
 
7845e57
13f4fea
e9ceb43
8bc50ed
cf14e32
e9ceb43
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Sử dụng một image chính thức của Python 3.9
FROM python:3.9

# Thiết lập thư mục làm việc cho ứng dụng
WORKDIR /app

# Tạo thư mục cache và thiết lập quyền truy cập
RUN mkdir -p /app/cache/
RUN chmod -R 777 /app

# Đặt biến môi trường cache cho Transformers (nếu cần)
ENV TRANSFORMERS_CACHE=/app/cache/

# Sao chép và cài đặt các dependencies từ requirements.txt
COPY ./requirements.txt /app/requirements.txt
RUN pip install --no-cache-dir --upgrade -r /app/requirements.txt

# Cài đặt thêm các gói cần thiết
RUN apt-get update && apt-get install -y ffmpeg

# Sao chép toàn bộ mã nguồn vào container
COPY . .

# Tạo người dùng không phải root và thiết lập quyền
RUN adduser --disabled-password --gecos '' appuser
RUN adduser appuser sudo
RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers

# Đảm bảo quyền truy cập cho người dùng không phải root
RUN chown -R appuser:appuser /app
RUN chmod -R 777 /app

# Chạy ứng dụng với người dùng không phải root
USER appuser

# Expose port 5000 cho FastAPI
EXPOSE 7860

# Chạy ứng dụng FastAPI bằng Uvicorn
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]