FROM docker.arvancloud.ir/node:20-alpine AS production

# تصویر نهایی: release را لوکال بسازید:
#   pnpm --filter @lucky-wheel/api build:release
# سپس فقط کپی می‌شود (بدون nest build داخل ایمیج).

WORKDIR /app

ENV NODE_ENV=production

# CDN رسمی Alpine روی خیلی از سرورهای ایران TLS می‌خورد → میرور آروان
RUN sed -i 's|dl-cdn.alpinelinux.org|mirror.arvancloud.ir|g' /etc/apk/repositories \
  && apk add --no-cache openssl libc6-compat

COPY apps/api/release/package.json ./
COPY apps/api/release/prisma ./prisma
COPY apps/api/release/app.js ./

RUN npm install --omit=dev \
  && npx prisma generate

RUN mkdir -p uploads

EXPOSE 3000

CMD ["sh", "-c", "npx prisma migrate deploy && node app.js"]
