From a89ee47d92a2852b5f33f870e084e24895bf5b68 Mon Sep 17 00:00:00 2001 From: MAHaines Date: Mon, 14 Jul 2025 10:46:53 -0500 Subject: [PATCH] Add Dashboard service Dockerfile --- services/dashboard/Dockerfile | 37 +++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 services/dashboard/Dockerfile diff --git a/services/dashboard/Dockerfile b/services/dashboard/Dockerfile new file mode 100644 index 0000000..e59fe3a --- /dev/null +++ b/services/dashboard/Dockerfile @@ -0,0 +1,37 @@ +FROM node:18-alpine + +# Install system dependencies +RUN apk add --no-cache \ + python3 \ + make \ + g++ + +WORKDIR /app + +# Copy package files +COPY package*.json ./ + +# Install dependencies +RUN npm ci --only=production + +# Copy source code +COPY src/ ./src/ + +# Create necessary directories +RUN mkdir -p /app/logs /app/public/css /app/public/js /app/public/assets + +# Run as non-root user +RUN addgroup -g 1001 -S nodejs +RUN adduser -S dashboard -u 1001 +RUN chown -R dashboard:nodejs /app +USER dashboard + +# Health check +HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ + CMD node src/healthcheck.js || exit 1 + +# Expose port +EXPOSE 3000 + +# Start the service +CMD ["node", "src/app.js"]