File size: 929 Bytes
d1cd674 2805a1e 517ca61 d1cd674 acf4d84 2805a1e d1cd674 2805a1e d1cd674 acf4d84 2805a1e d1cd674 acf4d84 2805a1e acf4d84 2805a1e d1cd674 c1fc8d2 d1cd674 c1fc8d2 d1cd674 c1fc8d2 d1cd674 c1fc8d2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
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"]
|