rmaps-online/sync-server/Dockerfile

26 lines
435 B
Docker

FROM node:20-alpine
WORKDIR /app
# Create non-root user first
RUN addgroup -g 1001 -S nodejs && \
adduser -S nodejs -u 1001
# Copy package files
COPY package*.json ./
# Install dependencies
RUN npm ci --only=production
# Copy server code and fix ownership
COPY --chown=nodejs:nodejs server.js ./
# Set ownership for the whole app directory
RUN chown -R nodejs:nodejs /app
USER nodejs
EXPOSE 3001
CMD ["node", "server.js"]