|
FROM node:20.18.0 |
|
|
|
WORKDIR /app |
|
|
|
|
|
RUN corepack enable pnpm |
|
|
|
|
|
COPY package.json pnpm-lock.yaml ./ |
|
|
|
|
|
RUN pnpm install --prod |
|
|
|
|
|
COPY . . |
|
|
|
|
|
ENV NODE_ENV=production |
|
ENV PORT=7860 |
|
|
|
EXPOSE 7860 |
|
|
|
|
|
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 |
|
|
|
|
|
CMD ["node", "server.js"] |
|
|