FROM node:20-slim

WORKDIR /app

# فقط package.json و yarn.lock رو کپی کن (برای تشخیص تغییر)
COPY package.json yarn.lock ./

# نصب فقط اگر فایل‌ها تغییر کرده باشند (Docker cache کمک می‌کنه)
RUN yarn install --production

# فقط .output رو هر بار جدید می‌فرستی
COPY .output .output

# entrypoint.sh (اختیاری)
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh

ENV PORT=5100
EXPOSE 5100

ENTRYPOINT ["/entrypoint.sh"]
CMD ["node", ".output/server/index.mjs"]
