# Build Stage
FROM node:20.19.4-alpine AS build-stage

# Create app directory
WORKDIR /app

# Install app dependencies
COPY package*.json ./
#RUN npm ci
RUN npm install

# Copy source files and build the app
COPY . .
RUN npm run build

# Production Stage
FROM node:20.19.4-alpine
ENV NODE_ENV=production

# Create app directory
WORKDIR /app

# Copy built app from build stage
COPY --from=build-stage /app/dist ./dist

# Install only production dependencies
COPY package*.json ./
#RUN npm ci --production
RUN npm install
USER node

# Define the entrypoint and default command
# If you have a custom entrypoint script
CMD [ "node", "dist/app.js" ]
