FROM node:18-alpine WORKDIR /app # Copy package files COPY backend/package*.json ./ # Install dependencies - bypass npm bugs RUN npm ci --omit=dev || npm install --omit=dev || true && \ npm install --save express express-session bcryptjs dotenv cors multer fs-extra && \ if [ ! -d node_modules/express ]; then echo "ERROR: express not installed" && exit 1; fi # Copy application code COPY backend/src ./src COPY frontend ./frontend EXPOSE 4001 CMD ["node", "src/server.js"]