27 lines
794 B
Docker
27 lines
794 B
Docker
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"]
|