Spaces:
Sleeping
Sleeping
# استفاده از یک ایمیج پایه پایتون 3.9 | |
FROM python:3.9 | |
# تنظیم دایرکتوری کاری در داخل کانتینر | |
WORKDIR /app | |
# کپی کردن فایل requirements.txt به دایرکتوری کاری | |
COPY requirements.txt . | |
# نصب وابستگی ها از requirements.txt | |
# --no-cache-dir برای جلوگیری از ذخیره سازی کش pip که حجم ایمیج را کم می کند. | |
RUN pip install --no-cache-dir -r requirements.txt | |
# ****** اضافه کردن دستورات برای تنظیم مسیر کش Sentence-Transformers ****** | |
# تنظیم متغیر محیطی برای تغییر مسیر کش به یک مسیر قابل نوشتن در داخل کانتینر (در دایرکتوری app) | |
ENV SENTENCE_TRANSFORMERS_HOME=/app/.cache/sentence_transformers | |
# ایجاد دایرکتوری کش با مجوزهای مناسب برای اطمینان از قابلیت نوشتن | |
RUN mkdir -p /app/.cache/sentence_transformers && chmod -R 777 /app/.cache | |
# ********************************************************************** | |
# کپی کردن تمام فایل های پروژه از دایرکتوری فعلی (Space شما) به دایرکتوری کاری در کانتینر | |
# این شامل app.py, index.html, style.css, script.js و فایل های JSON شما می شود. | |
COPY . /app | |
# تعیین پورتی که برنامه در داخل کانتینر به آن گوش می دهد. | |
EXPOSE 7860 | |
# تعیین دستور اجرای برنامه هنگام راه اندازی کانتینر | |
# اجرای اپلیکیشن Flask با نام 'app' در فایل 'app.py' با استفاده از Gunicorn. | |
CMD ["gunicorn", "--bind", "0.0.0.0:7860", "app:app"] |