1.创建Dockerfile
文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| FROM node:18-alpine3.18 AS deps WORKDIR /app
RUN apk add --no-cache git python3 make g++
# 克隆 NotionNext 仓库 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"]
|
2.获取NOTION_PAGE_ID
参考:
https://docs.tangly1024.com/article/vercel-deploy-notion-next
3.在Spaces填写变量