mirror of
				https://github.com/karl0ss/homepage.git
				synced 2025-10-30 05:54:05 +00:00 
			
		
		
		
	Update Dockerfile
This commit is contained in:
		
							parent
							
								
									08afa0b747
								
							
						
					
					
						commit
						a265038bf6
					
				
							
								
								
									
										57
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										57
									
								
								Dockerfile
									
									
									
									
									
								
							| @ -1,4 +1,33 @@ | ||||
| FROM node:16-alpine AS base | ||||
| # syntax = docker/dockerfile:latest | ||||
| 
 | ||||
| # Install dependencies only when needed | ||||
| FROM node:16-alpine AS deps | ||||
| 
 | ||||
| WORKDIR /app | ||||
| 
 | ||||
| COPY package.json pnpm-lock.yaml* ./ | ||||
| 
 | ||||
| RUN <<EOF | ||||
|     set -xe | ||||
|     apk add --no-cache libc6-compat | ||||
|     apk add --no-cache --virtual .gyp python3 make g++ | ||||
|     yarn global add pnpm | ||||
|     pnpm install | ||||
| EOF | ||||
| 
 | ||||
| # Rebuild the source code only when needed | ||||
| FROM node:16-alpine AS builder | ||||
| WORKDIR /app | ||||
| COPY --from=deps /app/node_modules ./node_modules | ||||
| COPY . . | ||||
| RUN <<EOF | ||||
|     set -xe | ||||
|     yarn next telemetry disable | ||||
|     npm run build | ||||
| EOF | ||||
| 
 | ||||
| # Production image, copy all the files and run next | ||||
| FROM node:16-alpine AS runner | ||||
| LABEL org.opencontainers.image.title "Homepage" | ||||
| LABEL org.opencontainers.image.description "A self-hosted services landing page, with docker and service integrations." | ||||
| LABEL org.opencontainers.image.url="https://github.com/benphelps/homepage" | ||||
| @ -6,31 +35,13 @@ LABEL org.opencontainers.image.documentation='https://github.com/benphelps/homep | ||||
| LABEL org.opencontainers.image.source='https://github.com/benphelps/homepage' | ||||
| LABEL org.opencontainers.image.licenses='Apache-2.0' | ||||
| 
 | ||||
| # Install dependencies only when needed | ||||
| FROM node:16-alpine AS deps | ||||
| RUN apk add --no-cache libc6-compat | ||||
| RUN apk add --no-cache --virtual .gyp python3 make g++ | ||||
| WORKDIR /app | ||||
| COPY package.json pnpm-lock.yaml* ./ | ||||
| RUN yarn global add pnpm | ||||
| RUN pnpm install | ||||
| RUN apk del .gyp | ||||
| 
 | ||||
| # Rebuild the source code only when needed | ||||
| FROM node:16-alpine AS builder | ||||
| WORKDIR /app | ||||
| COPY --from=deps /app/node_modules ./node_modules | ||||
| COPY . . | ||||
| RUN npm run build | ||||
| 
 | ||||
| # Production image, copy all the files and run next | ||||
| FROM node:16-alpine AS runner | ||||
| WORKDIR /app | ||||
| ENV NODE_ENV production | ||||
| COPY --from=builder /app/next.config.js ./ | ||||
| 
 | ||||
| WORKDIR /app | ||||
| 
 | ||||
| COPY --from=builder /app/next.config.js /app/.next/standalone ./ | ||||
| COPY --from=builder /app/public ./public | ||||
| COPY --from=builder /app/package.json ./package.json | ||||
| COPY --from=builder /app/.next/standalone ./ | ||||
| COPY --from=builder /app/.next/static ./.next/static | ||||
| 
 | ||||
| EXPOSE 3000 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Alex
						Alex