| 1234567891011121314151617181920212223242526272829 |
- FROM node:18-alpine AS builder
- WORKDIR /app
- COPY package*.json ./
- RUN npm ci --only=production
- FROM node:18-alpine
- WORKDIR /app
- COPY --from=builder /app/node_modules ./node_modules
- COPY server.js ./
- COPY public ./public
- COPY package.json ./
- COPY index.md ./
- COPY docs ./docs
- EXPOSE 3000
- ENV NODE_ENV=production \
- PORT=3000
- HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
- CMD node -e "require('http').get('http://localhost:3000/api/structure', (res) => { process.exit(res.statusCode === 200 ? 0 : 1); }).on('error', () => { process.exit(1); });"
- CMD ["node", "server.js"]
|