Docker prod env
This commit is contained in:
		@@ -1,22 +1,30 @@
 | 
			
		||||
FROM node:alpine AS base
 | 
			
		||||
FROM node:21-alpine AS base
 | 
			
		||||
 | 
			
		||||
FROM base AS deps
 | 
			
		||||
RUN apk update && apk add --no-cache libc6-compat
 | 
			
		||||
RUN apk add --no-cache libc6-compat
 | 
			
		||||
WORKDIR /app
 | 
			
		||||
COPY package.json ./
 | 
			
		||||
RUN npm install
 | 
			
		||||
COPY package.json yarn.lock ./
 | 
			
		||||
ENV NEXT_TELEMETRY_DISABLED 0
 | 
			
		||||
RUN yarn --frozen-lockfile
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
FROM base AS builder
 | 
			
		||||
WORKDIR /app
 | 
			
		||||
COPY .env.prod.sample .env.production
 | 
			
		||||
COPY --from=deps /app/node_modules ./node_modules
 | 
			
		||||
COPY . .
 | 
			
		||||
COPY .env.prod.sample .env
 | 
			
		||||
ENV NEXT_TELEMETRY_DISABLED 0
 | 
			
		||||
RUN yarn upgrade
 | 
			
		||||
RUN npx prisma generate
 | 
			
		||||
RUN npm run build
 | 
			
		||||
RUN yarn build
 | 
			
		||||
RUN npm prune --production
 | 
			
		||||
COPY ./script/start.sh .
 | 
			
		||||
RUN chmod +x start.sh
 | 
			
		||||
 | 
			
		||||
FROM alpine AS runner
 | 
			
		||||
RUN apk add --no-cache nodejs
 | 
			
		||||
RUN apk add --no-cache nodejs npm
 | 
			
		||||
RUN npm install npx -g
 | 
			
		||||
WORKDIR /app
 | 
			
		||||
 | 
			
		||||
ENV NODE_ENV production
 | 
			
		||||
RUN addgroup --system --gid 1001 nodejs
 | 
			
		||||
RUN adduser --system --uid 1001 nextjs
 | 
			
		||||
@@ -26,9 +34,12 @@ COPY --from=builder --chown=nextjs:nodejs /app/public ./public
 | 
			
		||||
COPY --from=builder --chown=nextjs:nodejs /app/package.json ./package.json
 | 
			
		||||
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
 | 
			
		||||
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
 | 
			
		||||
COPY --from=builder --chown=nextjs:nodejs /app/node_modules ./node_modules
 | 
			
		||||
COPY --from=builder --chown=nextjs:nodejs /app/prisma ./prisma
 | 
			
		||||
COPY --from=builder --chown=nextjs:nodejs /app/start.sh .
 | 
			
		||||
 | 
			
		||||
USER nextjs
 | 
			
		||||
EXPOSE 3100
 | 
			
		||||
ENV PORT 3100
 | 
			
		||||
 | 
			
		||||
CMD ["node", "server.js"]
 | 
			
		||||
CMD ["sh", "start.sh"]
 | 
			
		||||
		Reference in New Issue
	
	Block a user