rytfh commited on
Commit
219baf3
·
verified ·
1 Parent(s): 45207aa

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +13 -5
Dockerfile CHANGED
@@ -1,21 +1,29 @@
1
  # 基于官方镜像
2
  FROM ghcr.io/tbphp/gpt-load:v1.0.22.1
3
 
 
 
 
 
4
  # 设置工作目录
5
  WORKDIR /app
6
 
7
  # Hugging Face Spaces 会提供 $PORT 环境变量
8
- # 如果没有就默认 3001
9
  ENV PORT=${PORT:-7860}
10
 
11
- # 可选:拷贝 .env 文件(如果你有话)
12
- # COPY .env .env
 
 
 
13
 
14
  # 创建 SQLite 数据目录(避免权限报错)
 
15
  RUN mkdir -p /app/data && chmod -R 777 /app/data
16
 
17
  # 暴露端口(给本地调试用,HF 会自动映射 $PORT)
18
  EXPOSE $PORT
19
 
20
- # 运行服务必须绑定 0.0.0.0:$PORT
21
- CMD ["sh", "-c", "./gpt-load --port $PORT --host 0.0.0.0"]
 
1
  # 基于官方镜像
2
  FROM ghcr.io/tbphp/gpt-load:v1.0.22.1
3
 
4
+ # 安装 WebDAV 备份脚本所需的依赖 (curl 用于上传下载, tar 用于打包)
5
+ # 假设基础镜像是 Alpine Linux,这是很多 Go 应用镜像的选择
6
+ RUN apk add --no-cache curl tar
7
+
8
  # 设置工作目录
9
  WORKDIR /app
10
 
11
  # Hugging Face Spaces 会提供 $PORT 环境变量
12
+ # 如果没有就默认 7860
13
  ENV PORT=${PORT:-7860}
14
 
15
+ # 拷贝我们编写启动脚本到容器中
16
+ COPY start.sh .
17
+
18
+ # 赋予启动脚本执行权限
19
+ RUN chmod +x ./start.sh
20
 
21
  # 创建 SQLite 数据目录(避免权限报错)
22
+ # 脚本中也会创建,但这里保留是一个好习惯
23
  RUN mkdir -p /app/data && chmod -R 777 /app/data
24
 
25
  # 暴露端口(给本地调试用,HF 会自动映射 $PORT)
26
  EXPOSE $PORT
27
 
28
+ # 运行我们的启动脚本它会处理恢复、启动应用和备份
29
+ CMD ["./start.sh"]