# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile
# Use an official Node.js image as a base
FROM node:18-slim AS builder
# Install required system packages
RUN apt-get update && apt-get install -y \
ffmpeg \
imagemagick \
&& rm -rf /var/lib/apt/lists/*
# Set the working directory
WORKDIR /app
# Copy package.json and package-lock.json
COPY package*.json ./
# Install dependencies without executing scripts
RUN npm install --ignore-scripts
# Copy the source code
COPY src ./src
COPY tsconfig.json .
# Build the application
RUN npm run build
# Create a second stage to run the application
FROM node:18-slim
# Set the working directory
WORKDIR /app
# Copy the built application from the builder stage
COPY --from=builder /app/build ./build
COPY --from=builder /app/package.json .
# Install only production dependencies
RUN npm ci --omit=dev
# Specify the command to run the server
ENTRYPOINT ["node", "build/index.js"]