first commit
This commit is contained in:
		
							
								
								
									
										113
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										113
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,113 @@ | ||||
| FROM node:lts-alpine3.18 AS base | ||||
|  | ||||
| # Install dependencies only when needed | ||||
| FROM base AS deps | ||||
| # Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed. | ||||
| RUN apk add --no-cache libc6-compat | ||||
| WORKDIR /app | ||||
|  | ||||
| # Install dependencies based on the preferred package manager | ||||
| # It should use .npmrc | ||||
| COPY package.json  package-lock.json* ./ | ||||
| RUN \ | ||||
|   if [ -f package-lock.json ]; then npm ci; \ | ||||
|   else echo "Lockfile not found." && exit 1; \ | ||||
|   fi | ||||
|  | ||||
|  | ||||
| # Rebuild the source code only when needed | ||||
| FROM base AS builder | ||||
| WORKDIR /app | ||||
| COPY --from=deps /app/node_modules ./node_modules | ||||
| COPY . . | ||||
|  | ||||
| # Next.js collects completely anonymous telemetry data about general usage. | ||||
| # Learn more here: https://nextjs.org/telemetry | ||||
| # Uncomment the following line in case you want to disable telemetry during the build. | ||||
| # ENV NEXT_TELEMETRY_DISABLED 1 | ||||
|  | ||||
| ARG NEXT_PUBLIC_API_URL | ||||
| ARG NEXT_PUBLIC_CERBEROS_API_URL | ||||
| ARG NEXT_PUBLIC_APP_ID | ||||
| ARG NEXT_PUBLIC_REDIRECT_URI | ||||
| ARG NEXT_PUBLIC_SCOPE | ||||
| ARG NEXT_PUBLIC_AUTHORITY | ||||
| ARG NEXT_PUBLIC_LOGOUT_URI | ||||
| ARG NEXT_PUBLIC_ACCESS_AS_USER | ||||
|  | ||||
| ENV NEXT_PUBLIC_API_URL=$NEXT_PUBLIC_API_URL | ||||
| ENV NEXT_PUBLIC_CERBEROS_API_URL=$NEXT_PUBLIC_CERBEROS_API_URL | ||||
| ENV NEXT_PUBLIC_APP_ID=$NEXT_PUBLIC_APP_ID | ||||
| ENV NEXT_PUBLIC_REDIRECT_URI=$NEXT_PUBLIC_REDIRECT_URI | ||||
| ENV NEXT_PUBLIC_SCOPE=$NEXT_PUBLIC_SCOPE | ||||
| ENV NEXT_PUBLIC_AUTHORITY=$NEXT_PUBLIC_AUTHORITY | ||||
| ENV NEXT_PUBLIC_LOGOUT_URI=$NEXT_PUBLIC_LOGOUT_URI | ||||
| ENV NEXT_PUBLIC_ACCESS_AS_USER=$NEXT_PUBLIC_ACCESS_AS_USER | ||||
|  | ||||
| RUN echo "NEXT_PUBLIC_API_URL=$NEXT_PUBLIC_API_URL" | ||||
| RUN echo "NEXT_PUBLIC_CERBEROS_API_URL=$NEXT_PUBLIC_CERBEROS_API_URL" | ||||
| RUN echo "NEXT_PUBLIC_APP_ID=$NEXT_PUBLIC_APP_ID" | ||||
| RUN echo "NEXT_PUBLIC_REDIRECT_URI=$NEXT_PUBLIC_REDIRECT_URI" | ||||
| RUN echo "NEXT_PUBLIC_SCOPE=$NEXT_PUBLIC_SCOPE" | ||||
| RUN echo "NEXT_PUBLIC_AUTHORITY=$NEXT_PUBLIC_AUTHORITY" | ||||
| RUN echo "NEXT_PUBLIC_LOGOUT_URI=$NEXT_PUBLIC_LOGOUT_URI" | ||||
| RUN echo "NEXT_PUBLIC_ACCESS_AS_USER=$NEXT_PUBLIC_ACCESS_AS_USER" | ||||
|  | ||||
| RUN yarn build | ||||
|  | ||||
| # If using npm comment out above and use below instead | ||||
| # RUN npm run build | ||||
|  | ||||
| # Production image, copy all the files and run next | ||||
| FROM base AS runner | ||||
| WORKDIR /app | ||||
|  | ||||
| ENV NODE_ENV production | ||||
| # Uncomment the following line in case you want to disable telemetry during runtime. | ||||
| # ENV NEXT_TELEMETRY_DISABLED 1 | ||||
|  | ||||
| RUN addgroup --system --gid 1001 nodejs | ||||
| RUN adduser --system --uid 1001 nextjs | ||||
|  | ||||
| USER nextjs | ||||
|  | ||||
| COPY --from=builder /app/public ./public | ||||
|  | ||||
| # Automatically leverage output traces to reduce image size | ||||
| # https://nextjs.org/docs/advanced-features/output-file-tracing | ||||
| COPY --from=builder /app/.next/standalone ./ | ||||
| COPY --from=builder /app/.next/static ./.next/static | ||||
|  | ||||
| EXPOSE 3000 | ||||
|  | ||||
| ENV PORT 3000 | ||||
| ENV HOSTNAME 0.0.0.0 | ||||
|  | ||||
| ARG NEXT_PUBLIC_API_URL | ||||
| ARG NEXT_PUBLIC_CERBEROS_API_URL | ||||
| ARG NEXT_PUBLIC_APP_ID | ||||
| ARG NEXT_PUBLIC_REDIRECT_URI | ||||
| ARG NEXT_PUBLIC_SCOPE | ||||
| ARG NEXT_PUBLIC_AUTHORITY | ||||
| ARG NEXT_PUBLIC_LOGOUT_URI | ||||
| ARG NEXT_PUBLIC_ACCESS_AS_USER | ||||
|  | ||||
| ENV NEXT_PUBLIC_API_URL=$NEXT_PUBLIC_API_URL | ||||
| ENV NEXT_PUBLIC_CERBEROS_API_URL=$NEXT_PUBLIC_CERBEROS_API_URL | ||||
| ENV NEXT_PUBLIC_APP_ID=$NEXT_PUBLIC_APP_ID | ||||
| ENV NEXT_PUBLIC_REDIRECT_URI=$NEXT_PUBLIC_REDIRECT_URI | ||||
| ENV NEXT_PUBLIC_SCOPE=$NEXT_PUBLIC_SCOPE | ||||
| ENV NEXT_PUBLIC_AUTHORITY=$NEXT_PUBLIC_AUTHORITY | ||||
| ENV NEXT_PUBLIC_LOGOUT_URI=$NEXT_PUBLIC_LOGOUT_URI | ||||
| ENV NEXT_PUBLIC_ACCESS_AS_USER=$NEXT_PUBLIC_ACCESS_AS_USER | ||||
|  | ||||
| RUN echo "NEXT_PUBLIC_API_URL=$NEXT_PUBLIC_API_URL" | ||||
| RUN echo "NEXT_PUBLIC_CERBEROS_API_URL=$NEXT_PUBLIC_CERBEROS_API_URL" | ||||
| RUN echo "NEXT_PUBLIC_APP_ID=$NEXT_PUBLIC_APP_ID" | ||||
| RUN echo "NEXT_PUBLIC_REDIRECT_URI=$NEXT_PUBLIC_REDIRECT_URI" | ||||
| RUN echo "NEXT_PUBLIC_SCOPE=$NEXT_PUBLIC_SCOPE" | ||||
| RUN echo "NEXT_PUBLIC_AUTHORITY=$NEXT_PUBLIC_AUTHORITY" | ||||
| RUN echo "NEXT_PUBLIC_LOGOUT_URI=$NEXT_PUBLIC_LOGOUT_URI" | ||||
| RUN echo "NEXT_PUBLIC_ACCESS_AS_USER=$NEXT_PUBLIC_ACCESS_AS_USER" | ||||
|  | ||||
| CMD ["node", "server.js"] | ||||
		Reference in New Issue
	
	Block a user
	 Sergio Matias Urquin
					Sergio Matias Urquin