myResume2/Dockerfile
Blade34242 45a3cddf06
All checks were successful
Node CI / lint (push) Successful in 1m29s
Refresh resume design, Node lifecycle, PDF export and SEO
2026-11-07 07:38:03 +07:00

25 lines
723 B
Docker

FROM node:26-alpine3.24
# Create app directory and set permissions for non-root user
RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app
WORKDIR /home/node/app
# Default configuration
ENV NODE_ENV=production \
example=2
# Install dependencies (use clean, reproducible install and omit dev deps)
COPY --chown=node:node package*.json ./
USER node
RUN npm ci --omit=dev && npm cache clean --force
# Copy application source
COPY --chown=node:node . .
# Expose default port (app still respects PORT env)
EXPOSE 5555
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
CMD wget -q -O /dev/null "http://127.0.0.1:${PORT:-5555}/health" || exit 1
CMD [ "node", "app.js" ]