# Use Node 20 FROM node:20-slim WORKDIR /app # Copy package files COPY package*.json ./ # Install ALL dependencies (including devDeps for tsx) RUN npm install # Copy source code COPY . . # Expose the port EXPOSE 3000 # Start the server using tsx # The model will download to the default cache directory on first request CMD ["npx", "tsx", "server.ts"]