Spaces:
Runtime error
Runtime error
ARG NODE_VERSION=lts | |
# Install dependencies only when needed | |
FROM node:$NODE_VERSION-alpine AS builder | |
ENV YARN_CACHE_FOLDER=/opt/yarncache | |
WORKDIR /opt/app | |
COPY package.json yarn.lock ./ | |
RUN yarn install --frozen-lockfile | |
# patch logging for requestHandler | |
RUN sed -Ei \ | |
-e '/await requestHandler/iconst __start = new Date;' \ | |
-e '/await requestHandler/aconsole.log(`[${__start.toISOString()}] ${((new Date - __start) / 1000).toFixed(3)} ${req.method} ${req.url}`);' \ | |
node_modules/next/dist/server/lib/start-server.js | |
ENV NODE_ENV=production | |
ENV NEXT_TELEMETRY_DISABLED=1 | |
ENV VLLM_URL="http://localhost:8000" | |
ENV VLLM_API_KEY="" | |
COPY . . | |
RUN yarn build | |
# Production image, copy all the files and run next | |
FROM node:$NODE_VERSION-alpine AS runner | |
WORKDIR /opt/app | |
ENV NODE_ENV production | |
ENV NEXT_TELEMETRY_DISABLED 1 | |
RUN addgroup --system --gid 1001 nodejs | |
RUN adduser --system --uid 1001 nextjs | |
COPY --from=builder /opt/app/public ./public | |
# Set the correct permission for prerender cache | |
RUN mkdir .next | |
RUN chown nextjs:nodejs .next | |
# Automatically leverage output traces to reduce image size | |
# https://nextjs.org/docs/advanced-features/output-file-tracing | |
COPY --from=builder --chown=nextjs:nodejs /opt/app/.next/standalone ./ | |
COPY --from=builder --chown=nextjs:nodejs /opt/app/.next/static ./.next/static | |
USER nextjs | |
EXPOSE 3000 | |
ENV PORT 3000 | |
# set hostname to localhost | |
ENV HOSTNAME "0.0.0.0" | |
CMD ["node", "server.js"] | |