feat: dockerfile
This commit is contained in:
		
							
								
								
									
										12
									
								
								.dockerignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								.dockerignore
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					# Ignore dependencies
 | 
				
			||||||
 | 
					node_modules
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Ignore development files
 | 
				
			||||||
 | 
					.env
 | 
				
			||||||
 | 
					.vscode
 | 
				
			||||||
 | 
					.git
 | 
				
			||||||
 | 
					.gitignore
 | 
				
			||||||
 | 
					README.md
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Ignore build output
 | 
				
			||||||
 | 
					dist
 | 
				
			||||||
							
								
								
									
										19
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					FROM node:21-slim AS base
 | 
				
			||||||
 | 
					ENV PNPM_HOME="/pnpm"
 | 
				
			||||||
 | 
					ENV PATH="$PNPM_HOME:$PATH"
 | 
				
			||||||
 | 
					RUN corepack enable
 | 
				
			||||||
 | 
					COPY . /app
 | 
				
			||||||
 | 
					WORKDIR /app
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM base AS prod-deps
 | 
				
			||||||
 | 
					RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM base AS build
 | 
				
			||||||
 | 
					RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
 | 
				
			||||||
 | 
					RUN pnpm run build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM base
 | 
				
			||||||
 | 
					COPY --from=prod-deps /app/node_modules /app/node_modules
 | 
				
			||||||
 | 
					COPY --from=build /app/dist /app/dist
 | 
				
			||||||
 | 
					EXPOSE 8000
 | 
				
			||||||
 | 
					CMD [ "pnpm", "start" ]
 | 
				
			||||||
		Reference in New Issue
	
	Block a user