Switched dockerfile to more reasonable building + pnpm + cache
This commit is contained in:
		
							
								
								
									
										20
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								Dockerfile
									
									
									
									
									
								
							@@ -1,16 +1,20 @@
 | 
				
			|||||||
# Typescript Build
 | 
					# Typescript Build
 | 
				
			||||||
FROM registry.odit.services/hub/library/node:19.0.1-alpine3.16
 | 
					FROM registry.odit.services/hub/library/node:19.0.1-alpine3.16 as build
 | 
				
			||||||
 | 
					ARG NPM_REGISTRY_URL=https://registry.npmjs.org
 | 
				
			||||||
WORKDIR /app
 | 
					WORKDIR /app
 | 
				
			||||||
 | 
					
 | 
				
			||||||
COPY package.json ./
 | 
					COPY package.json ./
 | 
				
			||||||
RUN npm i -g pnpm
 | 
					RUN npm config set registry $NPM_REGISTRY_URL && npm i -g pnpm@8
 | 
				
			||||||
RUN pnpm i
 | 
					RUN mkdir /pnpm && pnpm config set store-dir /pnpm && pnpm i
 | 
				
			||||||
 | 
					
 | 
				
			||||||
COPY tsconfig.json ./
 | 
					COPY tsconfig.json ./
 | 
				
			||||||
COPY src ./src
 | 
					COPY src ./src
 | 
				
			||||||
RUN pnpm run build
 | 
					RUN pnpm run build \
 | 
				
			||||||
 | 
					    && rm -rf /app/node_modules \
 | 
				
			||||||
 | 
					    && pnpm i --production --prefer-offline
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# final image
 | 
					# final image
 | 
				
			||||||
FROM registry.odit.services/hub/library/node:19.0.1-alpine3.16
 | 
					FROM registry.odit.services/hub/library/node:19.0.1-alpine3.16
 | 
				
			||||||
COPY package.json ./
 | 
					COPY --from=build /app/dist dist
 | 
				
			||||||
RUN npm i -g pnpm
 | 
					COPY --from=build /app/node_modules /app/node_modules
 | 
				
			||||||
RUN pnpm i --prod
 | 
					 | 
				
			||||||
COPY --from=0 /app/dist dist
 | 
					 | 
				
			||||||
ENTRYPOINT ["node", "dist/app.js"]
 | 
					ENTRYPOINT ["node", "dist/app.js"]
 | 
				
			||||||
		Reference in New Issue
	
	Block a user