HuggingFace0920 commited on
Commit
e7fb7cb
·
verified ·
1 Parent(s): c341b2c

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +69 -6
Dockerfile CHANGED
@@ -1,9 +1,72 @@
1
- FROM ghcr.io/suwayomi/tachidesk:preview
 
2
 
3
- USER root
4
- RUN chmod -R 777 /tmp
 
 
 
5
 
6
- # 安装 python3-pip 和 huggingface_hub(加 --break-system-packages 以兼容 Debian/Ubuntu)
7
- RUN apt-get update && apt-get install -y python3-pip && pip3 install huggingface_hub --break-system-packages
 
 
 
 
 
 
 
8
 
9
- VOLUME ["/home/suwayomi/.local/share/Tachidesk"]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 使用官方Ubuntu基础镜像
2
+ FROM ubuntu:22.04
3
 
4
+ # 设置构建参数
5
+ ARG TZ=Asia/Shanghai
6
+ ARG APP_USER=suwayomi
7
+ ARG APP_HOME=/app
8
+ ARG JAVA_VERSION=17
9
 
10
+ # 设置环境变量
11
+ ENV TZ=${TZ} \
12
+ JAVA_HOME=/usr/lib/jvm/java-${JAVA_VERSION}-openjdk-amd64 \
13
+ APP_USER=${APP_USER} \
14
+ APP_HOME=${APP_HOME} \
15
+ VIRTUAL_ENV=${APP_HOME}/venv \
16
+ PATH="${APP_HOME}/venv/bin:${JAVA_HOME}/bin:${PATH}" \
17
+ LANG=C.UTF-8 \
18
+ LC_ALL=C.UTF-8
19
 
20
+ # 安装依赖并配置环境
21
+ RUN set -eux; \
22
+ # 设置时区
23
+ ln -snf /usr/share/zoneinfo/$TZ /etc/localtime; \
24
+ echo $TZ > /etc/timezone; \
25
+ \
26
+ # 更新包索引并安装基本依赖
27
+ apt-get update; \
28
+ apt-get install -y --no-install-recommends \
29
+ openjdk-${JAVA_VERSION}-jdk \
30
+ ca-certificates \
31
+ curl \
32
+ unzip \
33
+ bash \
34
+ jq \
35
+ python3 \
36
+ python3-pip \
37
+ python3-venv; \
38
+ \
39
+ # 清理APT缓存以减小镜像体积
40
+ apt-get clean; \
41
+ rm -rf /var/lib/apt/lists/*; \
42
+ \
43
+ # 更新CA证书
44
+ update-ca-certificates; \
45
+ \
46
+ # 创建应用用户和目录
47
+ useradd -r -u 1000 -m -d $APP_HOME -s /bin/bash $APP_USER; \
48
+ chown -R $APP_USER:$APP_USER $APP_HOME; \
49
+ \
50
+ # 创建Python虚拟环境并安装依赖
51
+ python3 -m venv $VIRTUAL_ENV; \
52
+ pip install --no-cache-dir --upgrade pip setuptools wheel; \
53
+ pip install --no-cache-dir huggingface_hub; \
54
+ \
55
+ # 下载 Suwayomi-Server 最新 release
56
+ curl -L -o $APP_HOME/Suwayomi-Server.jar \
57
+ $(curl -s https://api.github.com/repos/Suwayomi/Suwayomi-Server/releases/latest | jq -r '.assets[] | select(.name | test("Suwayomi-Server.*\\.jar$")) | .browser_download_url')
58
+
59
+ # 设置工作目录和用户
60
+ WORKDIR $APP_HOME
61
+ USER $APP_USER
62
+
63
+ # 复制并设置脚本权限
64
+ COPY --chown=${APP_USER}:${APP_USER} sync_data.sh ./
65
+ RUN chmod +x sync_data.sh
66
+
67
+ # 暴露服务端口
68
+ EXPOSE 4567
69
+
70
+ # 使用exec形式的ENTRYPOINT以确保信号正确传递
71
+ ENTRYPOINT ["/bin/bash", "-c"]
72
+ CMD ["exec java -jar ./Suwayomi-Server.jar"]