From 576e7c5d355b7e2b22c9abbeaa73c1be84552dec Mon Sep 17 00:00:00 2001 From: paul Date: Thu, 3 Jul 2025 16:29:04 +0200 Subject: [PATCH] Add backend Dockerfile --- backend/Dockerfile | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 backend/Dockerfile diff --git a/backend/Dockerfile b/backend/Dockerfile new file mode 100644 index 0000000..e054e76 --- /dev/null +++ b/backend/Dockerfile @@ -0,0 +1,38 @@ +FROM node:18-alpine AS builder + +WORKDIR /app + +# Copy package files +COPY package*.json ./ + +# Install dependencies +RUN npm ci --only=production + +# Copy application files +COPY . . + +# Production stage +FROM node:18-alpine + +WORKDIR /app + +# Install dumb-init for proper signal handling +RUN apk add --no-cache dumb-init + +# Create non-root user +RUN addgroup -g 1001 -S nodejs && adduser -S nodejs -u 1001 + +# Copy from builder +COPY --from=builder --chown=nodejs:nodejs /app/node_modules ./node_modules +COPY --chown=nodejs:nodejs . . + +# Create necessary directories +RUN mkdir -p storage/events/active storage/events/archived storage/thumbnails data logs && \ + chown -R nodejs:nodejs storage data logs + +USER nodejs + +EXPOSE 3000 + +ENTRYPOINT ["dumb-init", "--"] +CMD ["node", "server.js"]