在huggingface部署NotionNext

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填写变量

1
NOTION_PAGE_ID