2026-08-06 09:55:57 +03:30
|
|
|
# bookworm کامل تا OpenSSL آماده باشد (بدون apt روی سرور ایران)
|
2026-08-05 22:11:34 +03:30
|
|
|
FROM node:22-bookworm
|
2026-08-05 20:26:39 +03:30
|
|
|
WORKDIR /app
|
|
|
|
|
|
|
|
|
|
ENV NODE_ENV=production
|
2026-08-08 14:55:26 +03:30
|
|
|
ENV TZ=Asia/Tehran
|
2026-08-05 20:26:39 +03:30
|
|
|
|
2026-08-05 22:00:15 +03:30
|
|
|
COPY deploy-bundle.tar.gz /tmp/deploy-bundle.tar.gz
|
|
|
|
|
RUN tar -xzf /tmp/deploy-bundle.tar.gz -C /app \
|
2026-08-05 22:04:27 +03:30
|
|
|
&& rm /tmp/deploy-bundle.tar.gz
|
|
|
|
|
|
2026-08-08 16:14:53 +03:30
|
|
|
# همهچیز جز node_modules از گیت میآید تا دیپلوی فقط با git pull انجام شود
|
|
|
|
|
COPY package.json package-lock.json prisma.config.ts /app/
|
|
|
|
|
COPY prisma /app/prisma
|
2026-08-06 09:55:57 +03:30
|
|
|
COPY dist /app/dist
|
2026-08-05 22:04:27 +03:30
|
|
|
COPY docker-entrypoint.sh /app/docker-entrypoint.sh
|
|
|
|
|
RUN chmod +x /app/docker-entrypoint.sh
|
2026-08-05 20:26:39 +03:30
|
|
|
|
2026-08-08 16:14:53 +03:30
|
|
|
# کلاینت 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
|
|
|
|
|
|
2026-08-05 20:26:39 +03:30
|
|
|
EXPOSE 3000
|
|
|
|
|
ENTRYPOINT ["./docker-entrypoint.sh"]
|