FROM python:3.10-slim-bookworm # تنظیم متغیرهای محیطی برای مدیریت لاگ‌ها و پلی‌رایت ENV PYTHONUNBUFFERED=1 \ DEBIAN_FRONTEND=noninteractive \ PLAYWRIGHT_BROWSERS_PATH=/app/.cache/ms-playwright WORKDIR /app # نصب ابزارهای مدیریت پکیج لینوکس RUN apt-get update && apt-get install -y \ wget \ gnupg \ && rm -rf /var/lib/apt/lists/* # کپی و نصب نیازمندی‌های پایتون COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # نصب مرورگر کروم و پکیج‌های سیستمی مورد نیاز آن RUN playwright install chromium RUN playwright install-deps chromium # ساخت کاربر استاندارد هاگینگ فیس و اعطای مالکیت کامل پوشه کار به او RUN useradd -m -u 1000 user && chown -R user:user /app USER user ENV HOME=/home/user \ PATH=/home/user/.local/bin:$PATH # کپی کردن سورس کد با مالکیت کاربر غیر روت COPY --chown=user:user . . # باز کردن پورت کانتینر EXPOSE 7860 # اجرای وب سرور اصلی CMD ["python", "app.py"]