chore: update Dockerfile and README for pnpm support and Node.js version
This commit is contained in:
parent
5a97427756
commit
293f38b7e4
24
Dockerfile
24
Dockerfile
@ -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
|
COPY . /app
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
RUN npm ci
|
RUN pnpm install
|
||||||
|
|
||||||
FROM node:20-alpine AS production-dependencies-env
|
FROM node:22.13.1-alpine AS production-dependencies-env
|
||||||
COPY ./package.json package-lock.json /app/
|
RUN npm install -g pnpm@9.15.4
|
||||||
|
COPY ./package.json pnpm-lock.yaml /app/
|
||||||
WORKDIR /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 . /app/
|
||||||
COPY --from=development-dependencies-env /app/node_modules /app/node_modules
|
COPY --from=development-dependencies-env /app/node_modules /app/node_modules
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
RUN npm run build
|
RUN pnpm build
|
||||||
|
|
||||||
FROM node:20-alpine
|
FROM node:22.13.1-alpine
|
||||||
COPY ./package.json package-lock.json /app/
|
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=production-dependencies-env /app/node_modules /app/node_modules
|
||||||
COPY --from=build-env /app/build /app/build
|
COPY --from=build-env /app/build /app/build
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
CMD ["npm", "run", "start"]
|
CMD ["pnpm", "start"]
|
||||||
|
|||||||
53
README.md
53
README.md
@ -1,27 +1,26 @@
|
|||||||
# Welcome to React Router!
|
|
||||||
|
|
||||||
A modern, production-ready template for building full-stack React applications using React Router.
|
|
||||||
|
|
||||||
[](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
|
## 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
|
### Installation
|
||||||
|
|
||||||
Install the dependencies:
|
Install the dependencies:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm install
|
pnpm install
|
||||||
```
|
```
|
||||||
|
|
||||||
### Development
|
### Development
|
||||||
@ -29,7 +28,7 @@ npm install
|
|||||||
Start the development server with HMR:
|
Start the development server with HMR:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm run dev
|
pnpm dev
|
||||||
```
|
```
|
||||||
|
|
||||||
Your application will be available at `http://localhost:5173`.
|
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:
|
Create a production build:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm run build
|
pnpm build
|
||||||
```
|
```
|
||||||
|
|
||||||
## Deployment
|
## Deployment
|
||||||
|
|
||||||
### Docker 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:
|
To build and run using Docker:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# For npm
|
# Build the docker
|
||||||
docker build -t my-app .
|
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
|
# Run the container
|
||||||
docker run -p 3000:3000 my-app
|
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.
|
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
|
├── package.json
|
||||||
|
|||||||
@ -55,5 +55,9 @@
|
|||||||
"typescript-eslint": "^8.22.0",
|
"typescript-eslint": "^8.22.0",
|
||||||
"vite": "^5.4.11",
|
"vite": "^5.4.11",
|
||||||
"vite-tsconfig-paths": "^5.1.4"
|
"vite-tsconfig-paths": "^5.1.4"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">22.13.1",
|
||||||
|
"pnpm": ">9.15.4"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user