Trae Assistant commited on
Commit
0b2dc60
·
1 Parent(s): ad893f7

feat: add Dockerfile and .dockerignore for huggingface

Browse files
Files changed (2) hide show
  1. .dockerignore +15 -0
  2. Dockerfile +37 -0
.dockerignore ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ node_modules
2
+ .git
3
+ dist
4
+ .env
5
+ .vercel
6
+ .trae
7
+ *.log
8
+ npm-debug.log*
9
+ yarn-debug.log*
10
+ yarn-error.log*
11
+ pnpm-debug.log*
12
+ lerna-debug.log*
13
+ .DS_Store
14
+ .vscode
15
+ .idea
Dockerfile ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 使用官方 Node.js 镜像作为基础
2
+ FROM node:20-slim
3
+
4
+ # 安装 pnpm
5
+ RUN npm install -g pnpm
6
+
7
+ # 设置工作目录
8
+ WORKDIR /app
9
+
10
+ # 设置 UID 1000 以符合 Hugging Face Spaces 要求
11
+ RUN useradd -m -u 1000 user
12
+ USER user
13
+ ENV HOME=/home/user \
14
+ PATH=/home/user/.local/bin:$PATH
15
+
16
+ WORKDIR $HOME/app
17
+
18
+ # 复制 package.json 和 lock 文件
19
+ COPY --chown=user package.json pnpm-lock.yaml* ./
20
+
21
+ # 安装依赖
22
+ RUN pnpm install
23
+
24
+ # 复制其余源代码
25
+ COPY --chown=user . .
26
+
27
+ # 构建前端项目
28
+ RUN pnpm build
29
+
30
+ # 暴露 Hugging Face 要求的端口
31
+ EXPOSE 7860
32
+
33
+ # 设置后端服务端口
34
+ ENV PORT=7860
35
+
36
+ # 启动后端服务 (它将同时提供静态前端文件)
37
+ CMD ["npx", "tsx", "api/server.ts"]