FROM node:20.18.0 WORKDIR /app # Install pnpm RUN corepack enable pnpm # Copy package files COPY package.json pnpm-lock.yaml ./ # Install dependencies RUN pnpm install --prod # Copy the rest of the application COPY . . # Set production environment ENV NODE_ENV=production ENV PORT=7860 EXPOSE 7860 # Create a simple static file server RUN echo 'const express = require("express");' > server.js && \ echo 'const path = require("path");' >> server.js && \ echo 'const app = express();' >> server.js && \ echo 'app.use(express.static("public"));' >> server.js && \ echo 'app.get("*", (req, res) => {' >> server.js && \ echo ' res.sendFile(path.join(__dirname, "public", "index.html"));' >> server.js && \ echo '});' >> server.js && \ echo 'app.listen(process.env.PORT, () => console.log(`Server running on port ${process.env.PORT}`));' >> server.js # Start the server CMD ["node", "server.js"]