# bookworm کامل تا OpenSSL آماده باشد (بدون apt روی سرور ایران) FROM node:22-bookworm WORKDIR /app ENV NODE_ENV=production ENV TZ=Asia/Tehran COPY deploy-bundle.tar.gz /tmp/deploy-bundle.tar.gz RUN tar -xzf /tmp/deploy-bundle.tar.gz -C /app \ && rm /tmp/deploy-bundle.tar.gz # همه‌چیز جز node_modules از گیت می‌آید تا دیپلوی فقط با git pull انجام شود COPY package.json package-lock.json prisma.config.ts /app/ COPY prisma /app/prisma COPY dist /app/dist COPY docker-entrypoint.sh /app/docker-entrypoint.sh RUN chmod +x /app/docker-entrypoint.sh # کلاینت Prisma باید با اسکیمای گیت هم‌خوان شود؛ آفلاین است چون engine در باندل هست ENV CHECKPOINT_DISABLE=1 ENV PRISMA_HIDE_UPDATE_MESSAGE=1 # DATABASE_URL فقط برای بارگذاری prisma.config.ts لازم است، اتصالی برقرار نمی‌شود RUN DATABASE_URL="postgresql://build:build@localhost:5432/build?schema=public" \ ./node_modules/.bin/prisma generate EXPOSE 3000 ENTRYPOINT ["./docker-entrypoint.sh"]