rmaps-online/sync-server/Dockerfile

26 lines
487 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 verify-token.js ./
# Create data directory for persistence and set ownership
RUN mkdir -p /app/data && chown -R nodejs:nodejs /app
USER nodejs
EXPOSE 3001
CMD ["node", "server.js"]