top-danesh / Dockerfile
humanvprojectceo's picture
Update Dockerfile
0ca3497 verified
Raw
History Blame Contribute Delete
1.16 kB
# --- مرحله اول: تالیف و سبک‌سازی کدهای فرانت‌اند با 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"]