Alex před 2 roky
rodič
revize
a265038bf6
1 změnil soubory, kde provedl 27 přidání a 16 odebrání
  1. 27 16
      Dockerfile

+ 27 - 16
Dockerfile

@@ -1,36 +1,47 @@
-FROM node:16-alpine AS base
-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"
-LABEL org.opencontainers.image.documentation='https://github.com/benphelps/homepage/wiki'
-LABEL org.opencontainers.image.source='https://github.com/benphelps/homepage'
-LABEL org.opencontainers.image.licenses='Apache-2.0'
+# syntax = docker/dockerfile:latest
 
 
 # Install dependencies only when needed
 # Install dependencies only when needed
 FROM node:16-alpine AS deps
 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
 WORKDIR /app
+
 COPY package.json pnpm-lock.yaml* ./
 COPY package.json pnpm-lock.yaml* ./
-RUN yarn global add pnpm
-RUN pnpm install
-RUN apk del .gyp
+
+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
 # Rebuild the source code only when needed
 FROM node:16-alpine AS builder
 FROM node:16-alpine AS builder
 WORKDIR /app
 WORKDIR /app
 COPY --from=deps /app/node_modules ./node_modules
 COPY --from=deps /app/node_modules ./node_modules
 COPY . .
 COPY . .
-RUN npm run build
+RUN <<EOF
+    set -xe
+    yarn next telemetry disable
+    npm run build
+EOF
 
 
 # Production image, copy all the files and run next
 # Production image, copy all the files and run next
 FROM node:16-alpine AS runner
 FROM node:16-alpine AS runner
-WORKDIR /app
+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"
+LABEL org.opencontainers.image.documentation='https://github.com/benphelps/homepage/wiki'
+LABEL org.opencontainers.image.source='https://github.com/benphelps/homepage'
+LABEL org.opencontainers.image.licenses='Apache-2.0'
+
 ENV NODE_ENV production
 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/public ./public
 COPY --from=builder /app/package.json ./package.json
 COPY --from=builder /app/package.json ./package.json
-COPY --from=builder /app/.next/standalone ./
 COPY --from=builder /app/.next/static ./.next/static
 COPY --from=builder /app/.next/static ./.next/static
 
 
 EXPOSE 3000
 EXPOSE 3000