Spaces:
Running
Running
# File: Dockerfile | |
FROM python:3.9-slim | |
WORKDIR /app | |
# Cài đặt dependencies | |
COPY requirements.txt . | |
RUN pip install --no-cache-dir -r requirements.txt | |
# Copy mã nguồn | |
COPY . . | |
# Tạo thư mục data và cache, cấp quyền | |
RUN mkdir -p /app/data /tmp/cache/hub && \ | |
chmod -R 777 /app/data /tmp/cache && \ | |
chown -R nobody:nogroup /app/data /tmp/cache | |
# Tải trước mô hình all-MiniLM-L6-v2 | |
COPY preload_model.py . | |
RUN python preload_model.py || true | |
# Thiết lập biến môi trường | |
ENV PYTHONUNBUFFERED=1 | |
ENV HF_HOME=/tmp/cache | |
# Tùy chọn: khai báo cổng | |
EXPOSE 7860 | |
# Chạy với user nobody | |
USER nobody | |
# Khởi động ứng dụng | |
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860", "--workers", "1"] |