diff --git a/Dockerfile b/Dockerfile index 387529c..719041e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,36 @@ FROM node:18-alpine WORKDIR /app COPY package.json . -RUN npm install +RUN npm installFROM node:18-alpine as build + +WORKDIR /app + +# Copy package files and install dependencies +COPY package.json package-lock.json* ./ +RUN npm ci + +# Copy all files +COPY . . + +# Build the application +RUN npm run build + +# Production stage +FROM node:18-alpine as production + +WORKDIR /app + +# Install serve globally +RUN npm install -g serve + +# Copy built files from build stage +COPY --from=build /app/dist ./dist + +EXPOSE 3000 + +# Use the -s flag to handle SPA routing +CMD ["serve", "-s", "dist", "-l", "3000"] + RUN npm install -g serve COPY . .