27 lines
		
	
	
		
			971 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			971 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
| # Typescript Build
 | |
| FROM registry.odit.services/hub/library/node:23.10.0-alpine3.21 AS build
 | |
| ARG NPM_REGISTRY_URL=https://registry.npmjs.org
 | |
| WORKDIR /app
 | |
| 
 | |
| COPY package.json ./
 | |
| COPY pnpm-workspace.yaml ./
 | |
| COPY pnpm-lock.yaml ./
 | |
| RUN npm config set registry $NPM_REGISTRY_URL && npm i -g pnpm@10.7
 | |
| RUN mkdir /pnpm && pnpm config set store-dir /pnpm && pnpm i
 | |
| 
 | |
| COPY tsconfig.json ormconfig.js ./
 | |
| COPY src ./src
 | |
| RUN pnpm run build \
 | |
|     && rm -rf /app/node_modules \
 | |
|     && pnpm i --production --prefer-offline
 | |
| 
 | |
| # final image
 | |
| FROM registry.odit.services/hub/library/node:23.10.0-alpine3.21 AS final
 | |
| WORKDIR /app
 | |
| COPY --from=build /app/package.json /app/package.json
 | |
| COPY --from=build /app/pnpm-lock.yaml /app/pnpm-lock.yaml
 | |
| COPY --from=build /app/pnpm-workspace.yaml /app/pnpm-workspace.yaml
 | |
| COPY --from=build /app/ormconfig.js /app/ormconfig.js
 | |
| COPY --from=build /app/dist /app/dist
 | |
| COPY --from=build /app/node_modules /app/node_modules
 | |
| ENTRYPOINT ["node", "/app/dist/app.js"] |