FROM node:18-alpine3.18 AS deps WORKDIR /app RUN apk add --no-cache git python3 make g++ RUN git clone https://github.com/tangly1024/NotionNext.git . RUN yarn install --frozen-lockfile FROM node:18-alpine3.18 AS builder WORKDIR /app COPY --from=deps /app ./ ARG NOTION_PAGE_ID ARG NEXT_PUBLIC_THEME RUN yarn build FROM node:18-alpine3.18 AS runner WORKDIR /app ENV NODE_ENV=production ENV NOTION_PAGE_ID=${NOTION_PAGE_ID} ENV NEXT_PUBLIC_THEME=${NEXT_PUBLIC_THEME} ENV PORT=7860 COPY --from=builder /app ./ USER root RUN chown -R node:node /app USER node EXPOSE $PORT CMD ["sh", "-c", "yarn start -p $PORT -H 0.0.0.0"]