Spaces:
Sleeping
Sleeping
| # --- مرحله اول: تالیف و سبکسازی کدهای فرانتاند با Node.js --- | |
| FROM node:20-slim AS frontend-builder | |
| WORKDIR /app | |
| COPY package.json vite.config.ts tsconfig.json tailwind.config.js postcss.config.js index.html main.tsx App.tsx styles.css ./ | |
| RUN npm install | |
| RUN npm run build | |
| # --- مرحله دوم: اجرای وبسرور پایتونی Flask کنکور --- | |
| FROM python:3.11-slim | |
| WORKDIR /app | |
| RUN apt-get update && apt-get install -y --no-install-recommends \ | |
| build-essential \ | |
| libpq-dev \ | |
| && rm -rf /var/lib/apt/lists/* | |
| COPY requirements.txt . | |
| RUN pip install --no-cache-dir -r requirements.txt | |
| # کپی اسکریپتهای پایتون بکاند | |
| COPY app.py ./ | |
| # کپی کردن پوشه کامپایل شده نهایی فرانتاند (dist) از لایه قبل به لایه جاری پایتون | |
| COPY --from=frontend-builder /app/dist ./dist | |
| EXPOSE 7860 | |
| # اجرای وبسرور با استفاده از Gunicorn برای اجرای استاندارد و پایدار برنامه فلاسک | |
| CMD ["gunicorn", "--bind", "0.0.0.0:7860", "--workers", "2", "app:flask_app"] |