| FROM docker.io/library/node:18-bullseye | |
| # نصب گیت | |
| RUN apt-get update && apt-get install -y git | |
| # تنظیم پوشه کاری | |
| WORKDIR /app | |
| # ۱. کلون کردن ریپازیتوری با استفاده از Secret مَونت شده در زمان بیلد | |
| # این خط سکرت رو به صورت امن و موقت فقط برای همین دستور در دسترس قرار میده | |
| RUN --mount=type=secret,id=GH_TOKEN \ | |
| GH_TOKEN=$(cat /run/secrets/GH_TOKEN) && \ | |
| git clone https://${GH_TOKEN}@github.com/Hamed744/Mokaleme-soti-free.git . | |
| # ۲. نصب پکیجها | |
| RUN npm install | |
| # ۳. ساخت بیلد نهایی ریکت | |
| RUN npm run build | |
| # ۴. تنظیم متغیر محیطی پورت روی 7860 | |
| ENV PORT=7860 | |
| # ۵. باز کردن پورت | |
| EXPOSE 7860 | |
| # ۶. اجرای فایل سرور | |
| CMD ["node", "server/index.js"] | |