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