From aad5b096b28ea4c07de71ae396a673a04a2601b2 Mon Sep 17 00:00:00 2001
From: Ben Phelps <ben@phelps.io>
Date: Sat, 27 Aug 2022 18:54:53 +0300
Subject: [PATCH] move labels to the top

---
 Dockerfile | 57 +++++++++++++++++++++++++++---------------------------
 1 file changed, 29 insertions(+), 28 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 50872794..ad93a4e2 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,31 +1,4 @@
-# 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 ./
-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
-
-FROM runner AS homepage
+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"
@@ -33,6 +6,34 @@ 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'
 
+ENV NODE_ENV production
+ENV NEXT_TELEMETRY_DISABLED 1
+
+WORKDIR /app
+
+# Install dependencies only when needed
+FROM base AS deps
+RUN apk add --no-cache libc6-compat
+RUN apk add --no-cache --virtual .gyp python3 make g++
+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 base AS builder
+COPY --from=deps /app/node_modules ./node_modules
+COPY . .
+RUN npm run build
+
+# Production image, copy all the files and run next
+FROM base AS runner
+COPY --from=builder /app/next.config.js ./
+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
 ENV PORT 3000
 CMD ["node", "server.js"]