main
text 26 lines 730 Bytes
Raw
1 FROM node:24-alpine AS deps
2 WORKDIR /app
3 COPY package.json package-lock.json ./
4 RUN npm ci --ignore-scripts
5
6 FROM node:24-alpine AS builder
7 WORKDIR /app
8 ARG NEXT_PUBLIC_API_BASE_URL=
9 ARG NEXT_PUBLIC_AUTH_DEV_LOGIN_ENABLED=false
10 ENV NEXT_PUBLIC_API_BASE_URL=$NEXT_PUBLIC_API_BASE_URL
11 ENV NEXT_PUBLIC_AUTH_DEV_LOGIN_ENABLED=$NEXT_PUBLIC_AUTH_DEV_LOGIN_ENABLED
12 COPY --from=deps /app/node_modules ./node_modules
13 COPY . .
14 RUN npm run build
15
16 FROM node:24-alpine AS runner
17 WORKDIR /app
18 ENV NODE_ENV=production
19 ENV HOSTNAME=0.0.0.0
20 ENV PORT=3000
21 COPY --from=builder /app/.next/standalone ./
22 COPY --from=builder /app/.next/static ./.next/static
23 COPY --from=builder /app/public ./public
24 EXPOSE 3000
25 USER 1000:1000
26 CMD ["node", "server.js"]