| |
| FROM node:20-alpine AS builder |
| RUN apk add --no-cache libc6-compat |
| WORKDIR /app |
|
|
| |
| COPY frontend/package.json frontend/package-lock.json ./ |
| RUN npm install |
|
|
| |
| COPY frontend ./ |
| RUN npm run build |
|
|
| |
| RUN npm install -g pm2 |
|
|
| |
| FROM node:20-alpine |
|
|
| |
| WORKDIR /tmp |
| RUN mkdir -p /tmp/app/.next/cache/images /tmp/app/.next/cache/fetch-cache |
|
|
| |
| COPY --from=builder /app /tmp/app |
|
|
| WORKDIR /tmp/app |
|
|
| |
| RUN chown -R node:node /tmp/app |
|
|
| |
| RUN npm install -g pm2 |
|
|
| |
| ENV PORT=7860 |
|
|
| |
| EXPOSE 7860 |
|
|
| |
| USER node |
| CMD ["pm2-runtime", "start", "npm", "--", "start"] |