Spaces:
Running
Running
# 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"] |