| | |
| | 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"] |