# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile
# Stage 1: Build the application
FROM node:18-alpine AS builder
# Create app directory
WORKDIR /app
# Copy package.json and package-lock.json for npm install
COPY package*.json ./
# Install dependencies, including devDependencies for building
RUN npm install
# Copy the source code
COPY src ./src
COPY tsconfig.json ./
# Build the project
RUN npm run build
# Stage 2: Run the application
FROM node:18-alpine
# Create app directory
WORKDIR /app
# Copy only necessary files
COPY --from=builder /app/build /app/build
COPY --from=builder /app/package*.json ./
# Install only production dependencies
RUN npm ci --only=production
# Environment variables
ENV SENDGRID_API_KEY=your-api-key-here
# Specify the command to run
ENTRYPOINT ["node", "build/index.js"]