# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile
# Use an official Node.js image as a parent image
FROM node:18-alpine AS builder
# Set the working directory to /app inside the container
WORKDIR /app
# Copy package.json and package-lock.json to the working directory
COPY package.json tsconfig.json ./
# Install project dependencies and build the project
RUN npm install --ignore-scripts
RUN npm run build
# Use a lighter image for running the application
FROM node:18-alpine
# Set the working directory to /app inside the container
WORKDIR /app
# Copy the built files and node_modules from the builder stage
COPY --from=builder /app/build /app/build
COPY --from=builder /app/node_modules /app/node_modules
COPY package.json ./
# Set environment variables for the application
ENV ZOTERO_API_KEY=""
ENV ZOTERO_USER_ID=""
# Define the command to run the application
ENTRYPOINT ["node", "build/server.js"]
# Optionally expose a port if the application serves on a specific port
# EXPOSE 3000 (uncomment and set the correct port if needed)