From d23ef45c1ad14c4fb0750048e2e4aa574cc8af12 Mon Sep 17 00:00:00 2001 From: Karmaa Date: Tue, 11 Mar 2025 23:18:11 -0500 Subject: [PATCH] Changes to Dockerfile to fix error in installing MongoDB --- docker/Dockerfile | 27 +++++++-------------------- docker/entrypoint.sh | 12 +++++------- 2 files changed, 12 insertions(+), 27 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 64b37a0b..f89529c1 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -15,16 +15,7 @@ COPY src/backend/ ./src/backend/ # Stage 3: Final production image FROM node:18-alpine - -# Install dependencies including nginx -RUN apk add --no-cache \ - nginx \ - bash \ - curl \ - ca-certificates \ - gnupg \ - libcurl \ - && update-ca-certificates +RUN apk add --no-cache nginx # Configure nginx COPY docker/nginx.conf /etc/nginx/nginx.conf @@ -34,19 +25,15 @@ COPY --from=frontend-builder /app/dist /usr/share/nginx/html COPY --from=backend-builder /app/node_modules ./node_modules COPY --from=backend-builder /app/src/backend ./src/backend -# Ensure nginx user is created, if not already created -RUN adduser -D -g 'www' nginx - -# Create separate directories for nginx logs and data -RUN mkdir -p /var/log/nginx /var/lib/nginx && \ +# Create separate directories for nginx and node +RUN mkdir -p /var/log/nginx && \ + mkdir -p /var/lib/nginx && \ chown -R nginx:nginx /var/log/nginx /var/lib/nginx -# Expose necessary ports -EXPOSE 8080 8081 27017 +# Expose ports +EXPOSE 8080 8081 -# Copy entrypoint script +# Use a entrypoint script to run all services COPY docker/entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh - -# Start services (nginx, MongoDB, Node backend) CMD ["/entrypoint.sh"] \ No newline at end of file diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index 3ec70c55..d465e28b 100644 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -1,13 +1,11 @@ -#!/bin/bash +#!/bin/sh -# Start NGINX -echo "Starting NGINX..." +# Start NGINX in background nginx -g "daemon off;" & # Start Node.js backend -echo "Starting Node.js backend..." -node /app/src/backend/ssh.cjs & -node /app/src/backend/database.cjs & +node src/backend/ssh.cjs +node src/backend/database.cjs -# Keep the container running +# Keep container running wait \ No newline at end of file