HuggingFace0920 commited on
Commit
db8c8d6
·
verified ·
1 Parent(s): 02ea04d

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +69 -0
Dockerfile ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ # 设置工作目录和用户
56
+ WORKDIR $APP_HOME
57
+ USER $APP_USER
58
+
59
+ # 复制并设置脚本权限
60
+ COPY --chown=${APP_USER}:${APP_USER} install_suwayomi.sh ./
61
+ #COPY --chown=${APP_USER}:${APP_USER} sync_data.sh ./
62
+ RUN chmod +x install_reader.sh
63
+
64
+ # 暴露服务端口
65
+ EXPOSE 8080
66
+
67
+ # 使用exec形式的ENTRYPOINT以确保信号正确传递
68
+ ENTRYPOINT ["/bin/bash", "-c"]
69
+ CMD ["./install_suwayomi.sh"]