# استفاده از Python 3.9 به عنوان Base Image FROM python:3.9-slim # تنظیمات متغیرهای محیطی ENV PYTHONUNBUFFERED=1 ENV PYTHONDONTWRITEBYTECODE=1 ENV HF_HOME=/app/.cache ENV TRANSFORMERS_CACHE=/app/.cache ENV TORCH_HOME=/app/.cache # نصب ابزارهای سیستم مورد نیاز RUN apt-get update && apt-get install -y \ gcc \ g++ \ git \ curl \ build-essential \ && rm -rf /var/lib/apt/lists/* # تنظیم دایرکتوری کار WORKDIR /app # ایجاد کاربر غیر-root برای امنیت بهتر RUN groupadd -r appuser && useradd -r -g appuser appuser # ایجاد و تنظیم مجوزهای پوشه‌ها RUN mkdir -p /app/.cache && \ chown -R appuser:appuser /app && \ chmod -R 755 /app # کپی فایل requirements و نصب وابستگی‌ها COPY requirements.txt . RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir -r requirements.txt # کپی کد اپلیکیشن COPY app.py . # تغییر مالکیت فایل‌ها به appuser RUN chown -R appuser:appuser /app # تغییر به کاربر غیر-root USER appuser # تنظیم پورت EXPOSE 7860 # دستور اجرای اپلیکیشن CMD ["python", "app.py"]