hxger commited on
Commit
2f59a48
·
verified ·
1 Parent(s): 32fd9a9

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +70 -70
Dockerfile CHANGED
@@ -1,70 +1,70 @@
1
- FROM node:19.1.0-alpine3.16
2
-
3
- # 设置应用目录
4
- ARG APP_HOME=/home/node/app
5
-
6
- # 安装系统依赖
7
- RUN apk add --no-cache gcompat tini git python3 py3-pip bash dos2unix findutils tar curl
8
-
9
- # 安装HuggingFace Hub
10
- RUN pip3 install --no-cache-dir huggingface_hub
11
-
12
- # 确保正确处理内核信号
13
- ENTRYPOINT [ "tini", "--" ]
14
-
15
- # 创建应用目录
16
- WORKDIR ${APP_HOME}
17
-
18
- # 设置NODE_ENV为production
19
- ENV NODE_ENV=production
20
-
21
- # 设置登录凭证环境变量
22
- ENV USERNAME="admin"
23
- ENV PASSWORD="password"
24
-
25
- # 克隆官方SillyTavern仓库(最新版本)
26
- RUN git clone https://github.com/SillyTavern/SillyTavern.git .
27
-
28
- # 安装依赖
29
- RUN echo "*** 安装npm包 ***" && \
30
- npm install && npm cache clean --force
31
-
32
- # 添加启动脚本和数据同步脚本
33
- COPY launch.sh sync_data.sh ./
34
- RUN chmod +x launch.sh sync_data.sh && \
35
- dos2unix launch.sh sync_data.sh
36
-
37
- # 安装生产依赖
38
- RUN echo "*** 安装生产npm包 ***" && \
39
- npm i --no-audit --no-fund --loglevel=error --no-progress --omit=dev && npm cache clean --force
40
-
41
- # 创建配置目录
42
- RUN mkdir -p "config" || true && \
43
- rm -f "config.yaml" || true && \
44
- ln -s "./config/config.yaml" "config.yaml" || true
45
-
46
- # 清理不必要的文件
47
- RUN echo "*** 清理 ***" && \
48
- mv "./docker/docker-entrypoint.sh" "./" && \
49
- rm -rf "./docker" && \
50
- echo "*** 使docker-entrypoint.sh可执行 ***" && \
51
- chmod +x "./docker-entrypoint.sh" && \
52
- echo "*** 转换行尾为Unix格式 ***" && \
53
- dos2unix "./docker-entrypoint.sh" || true
54
-
55
- # 修改入口脚本,添加自定义启动脚本
56
- RUN sed -i 's/# Start the server/.\/launch.sh/g' docker-entrypoint.sh
57
-
58
- # 创建临时备份目录和数据目录
59
- RUN mkdir -p /tmp/sillytavern_backup && \
60
- mkdir -p ${APP_HOME}/data
61
-
62
- # 设置权限
63
- RUN chmod -R 777 ${APP_HOME} && \
64
- chmod -R 777 /tmp/sillytavern_backup
65
-
66
- # 暴露端口
67
- EXPOSE 8000
68
-
69
- # 启动命令
70
- CMD [ "./docker-entrypoint.sh" ]
 
1
+ FROM node:19.1.0-alpine3.16
2
+
3
+ # 设置应用目录
4
+ ARG APP_HOME=/home/node/app
5
+
6
+ # 安装系统依赖
7
+ RUN apk add --no-cache gcompat tini git python3 py3-pip bash dos2unix findutils tar curl
8
+
9
+ # 安装HuggingFace Hub
10
+ RUN pip3 install --no-cache-dir huggingface_hub
11
+
12
+ # 确保正确处理内核信号
13
+ ENTRYPOINT [ "tini", "--" ]
14
+
15
+ # 创建应用目录
16
+ WORKDIR ${APP_HOME}
17
+
18
+ # 设置NODE_ENV为production
19
+ ENV NODE_ENV=production
20
+
21
+ # 设置登录凭证环境变量
22
+ ENV USERNAME="admin"
23
+ ENV PASSWORD="password"
24
+
25
+ # 克隆官方SillyTavern仓库(最新版本)
26
+ RUN git clone https://github.com/SillyTavern/SillyTavern.git .
27
+
28
+ # 安装依赖
29
+ RUN echo "*** 安装npm包 ***" && \
30
+ npm install && npm cache clean --force
31
+
32
+ # 添加启动脚本和数据同步脚本
33
+ COPY launch.sh sync_data.sh ./
34
+ RUN chmod +x launch.sh sync_data.sh && \
35
+ dos2unix launch.sh sync_data.sh
36
+
37
+ # 安装生产依赖
38
+ RUN echo "*** 安装生产npm包 ***" && \
39
+ npm i --no-audit --no-fund --loglevel=error --no-progress --omit=dev && npm cache clean --force
40
+
41
+ # 创建配置目录
42
+ RUN mkdir -p "config" || true && \
43
+ rm -f "config.yaml" || true && \
44
+ ln -s "./config/config.yaml" "config.yaml" || true
45
+
46
+ # 清理不必要的文件
47
+ RUN echo "*** 清理 ***" && \
48
+ mv "./docker/docker-entrypoint.sh" "./" && \
49
+ rm -rf "./docker" && \
50
+ echo "*** 使docker-entrypoint.sh可执行 ***" && \
51
+ chmod +x "./docker-entrypoint.sh" && \
52
+ echo "*** 转换行尾为Unix格式 ***" && \
53
+ dos2unix "./docker-entrypoint.sh" || true
54
+
55
+ # 修改入口脚本,添加自定义启动脚本
56
+ RUN sed -i 's/# Start the server/.\/launch.sh/g' docker-entrypoint.sh
57
+
58
+ # 创建临时备份目录和数据目录
59
+ RUN mkdir -p /tmp/sillytavern_backup && \
60
+ mkdir -p ${APP_HOME}/data
61
+
62
+ # 设置权限
63
+ RUN chmod -R 777 ${APP_HOME} && \
64
+ chmod -R 777 /tmp/sillytavern_backup
65
+
66
+ # 暴露端口
67
+ EXPOSE 8000
68
+
69
+ # 启动命令
70
+ CMD [ "./docker-entrypoint.sh" ]