chore: update Dockerfile and README for pnpm support and Node.js version

This commit is contained in:
Ardeman 2025-02-22 12:03:32 +08:00
parent 5a97427756
commit 293f38b7e4
3 changed files with 38 additions and 43 deletions

View File

@ -1,22 +1,26 @@
FROM node:20-alpine AS development-dependencies-env
FROM node:22.13.1-alpine AS development-dependencies-env
RUN npm install -g pnpm@9.15.4
COPY . /app
WORKDIR /app
RUN npm ci
RUN pnpm install
FROM node:20-alpine AS production-dependencies-env
COPY ./package.json package-lock.json /app/
FROM node:22.13.1-alpine AS production-dependencies-env
RUN npm install -g pnpm@9.15.4
COPY ./package.json pnpm-lock.yaml /app/
WORKDIR /app
RUN npm ci --omit=dev
RUN pnpm install --prod
FROM node:20-alpine AS build-env
FROM node:22.13.1-alpine AS build-env
RUN npm install -g pnpm@9.15.4
COPY . /app/
COPY --from=development-dependencies-env /app/node_modules /app/node_modules
WORKDIR /app
RUN npm run build
RUN pnpm build
FROM node:20-alpine
COPY ./package.json package-lock.json /app/
FROM node:22.13.1-alpine
RUN npm install -g pnpm@9.15.4
COPY ./package.json pnpm-lock.yaml /app/
COPY --from=production-dependencies-env /app/node_modules /app/node_modules
COPY --from=build-env /app/build /app/build
WORKDIR /app
CMD ["npm", "run", "start"]
CMD ["pnpm", "start"]

View File

@ -1,27 +1,26 @@
# Welcome to React Router!
A modern, production-ready template for building full-stack React applications using React Router.
[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/remix-run/react-router-templates/tree/main/default)
## Features
- πŸš€ Server-side rendering
- ⚑️ Hot Module Replacement (HMR)
- πŸ“¦ Asset bundling and optimization
- πŸ”„ Data loading and mutations
- πŸ”’ TypeScript by default
- πŸŽ‰ TailwindCSS for styling
- πŸ“– [React Router docs](https://reactrouter.com/)
## Getting Started
### Prerequisite
This project requires:
- Node.js version 22.13.1
- pnpm version 9.15.4
To install Node.js, visit [nodejs.org](https://nodejs.org/)
To install pnpm, run:
```bash
npm install -g pnpm@9.15.4
```
### Installation
Install the dependencies:
```bash
npm install
pnpm install
```
### Development
@ -29,7 +28,7 @@ npm install
Start the development server with HMR:
```bash
npm run dev
pnpm dev
```
Your application will be available at `http://localhost:5173`.
@ -39,31 +38,19 @@ Your application will be available at `http://localhost:5173`.
Create a production build:
```bash
npm run build
pnpm build
```
## Deployment
### Docker Deployment
This template includes three Dockerfiles optimized for different package managers:
- `Dockerfile` - for npm
- `Dockerfile.pnpm` - for pnpm
- `Dockerfile.bun` - for bun
To build and run using Docker:
```bash
# For npm
# Build the docker
docker build -t my-app .
# For pnpm
docker build -f Dockerfile.pnpm -t my-app .
# For bun
docker build -f Dockerfile.bun -t my-app .
# Run the container
docker run -p 3000:3000 my-app
```
@ -81,7 +68,7 @@ The containerized application can be deployed to any platform that supports Dock
If you're familiar with deploying Node applications, the built-in app server is production-ready.
Make sure to deploy the output of `npm run build`
Make sure to deploy the output of `pnpm build`
```
β”œβ”€β”€ package.json

View File

@ -55,5 +55,9 @@
"typescript-eslint": "^8.22.0",
"vite": "^5.4.11",
"vite-tsconfig-paths": "^5.1.4"
},
"engines": {
"node": ">22.13.1",
"pnpm": ">9.15.4"
}
}