HuggingFace0920 commited on
Commit
cbc9ce3
·
verified ·
1 Parent(s): 0afb479

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +52 -21
Dockerfile CHANGED
@@ -1,19 +1,54 @@
1
  # 使用官方Ubuntu基础镜像
2
  FROM ubuntu:22.04
3
- EXPOSE 5244
4
 
5
- # 设置时区
6
- ENV TZ=Asia/Shanghai
7
- RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \
8
- echo $TZ > /etc/timezone
 
 
 
 
 
 
 
 
 
9
 
10
- # 安装系统依赖
11
- RUN apt-get update && \
12
- apt-get install -y wget tar python3 python3-pip && \
13
- rm -rf /var/lib/apt/lists/*
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
 
15
- # 设置工作目录
16
- WORKDIR /OpenList
 
17
 
18
  # 下载并解压 OpenList
19
  RUN wget -q https://github.com/OpenListTeam/OpenList/releases/download/beta/openlist-linux-amd64.tar.gz && \
@@ -21,19 +56,15 @@ RUN wget -q https://github.com/OpenListTeam/OpenList/releases/download/beta/open
21
  find . -type f -name "openlist" -exec mv {} . \; && \
22
  rm -rf openlist-linux-amd64.tar.gz *linux-amd64*
23
 
24
- # 创建数据目录并设置权限
25
- RUN mkdir -p /OpenList/data && \
26
- chmod -R 777 /OpenList/data
27
-
28
  # 复制并设置脚本权限
29
- COPY sync_data.sh ./
30
- RUN chmod 755 openlist sync_data.sh
 
31
 
32
- # 设置非root用户运行
33
- RUN useradd -m openlistuser && \
34
- chown -R openlistuser:openlistuser /OpenList
35
 
36
- USER openlistuser
 
37
 
38
  # 启动服务
 
39
  CMD ["./sync_data.sh && ./openlist", "server"]
 
1
  # 使用官方Ubuntu基础镜像
2
  FROM ubuntu:22.04
 
3
 
4
+ # 设置构建参数
5
+ ARG TZ=Asia/Shanghai
6
+ ARG APP_USER=openlist
7
+ ARG APP_HOME=/app
8
+
9
+ # 设置环境变量
10
+ ENV TZ=${TZ} \
11
+ APP_USER=${APP_USER} \
12
+ APP_HOME=${APP_HOME} \
13
+ VIRTUAL_ENV=${APP_HOME}/venv \
14
+ PATH="${APP_HOME}/venv/bin:${JAVA_HOME}/bin:${PATH}" \
15
+ LANG=C.UTF-8 \
16
+ LC_ALL=C.UTF-8
17
 
18
+ # 安装依赖并配置环境
19
+ RUN set -eux; \
20
+ # 设置时区
21
+ ln -snf /usr/share/zoneinfo/$TZ /etc/localtime; \
22
+ echo $TZ > /etc/timezone; \
23
+ \
24
+ # 更新包索引并安装基本依赖
25
+ apt-get update; \
26
+ apt-get install -y --no-install-recommends \
27
+ wget \
28
+ tar \
29
+ python3 \
30
+ python3-pip \
31
+ python3-venv; \
32
+ \
33
+ # 清理APT缓存以减小镜像体积
34
+ apt-get clean; \
35
+ rm -rf /var/lib/apt/lists/*; \
36
+ \
37
+ # 更新CA证书
38
+ update-ca-certificates; \
39
+ \
40
+ # 创建应用用户和目录
41
+ useradd -r -u 1000 -m -d $APP_HOME -s /bin/bash $APP_USER; \
42
+ chown -R $APP_USER:$APP_USER $APP_HOME; \
43
+ \
44
+ # 创建Python虚拟环境并安装依赖
45
+ python3 -m venv $VIRTUAL_ENV; \
46
+ pip install --no-cache-dir --upgrade pip setuptools wheel; \
47
+ pip install --no-cache-dir huggingface_hub
48
 
49
+ # 设置工作目录和用户
50
+ WORKDIR $APP_HOME
51
+ USER $APP_USER
52
 
53
  # 下载并解压 OpenList
54
  RUN wget -q https://github.com/OpenListTeam/OpenList/releases/download/beta/openlist-linux-amd64.tar.gz && \
 
56
  find . -type f -name "openlist" -exec mv {} . \; && \
57
  rm -rf openlist-linux-amd64.tar.gz *linux-amd64*
58
 
 
 
 
 
59
  # 复制并设置脚本权限
60
+ COPY --chown=${APP_USER}:${APP_USER} openlist ./
61
+ COPY --chown=${APP_USER}:${APP_USER} sync_data.sh ./
62
+ RUN chmod +x install_reader.sh sync_data.sh
63
 
 
 
 
64
 
65
+ # 暴露服务端口
66
+ EXPOSE 5244
67
 
68
  # 启动服务
69
+ ENTRYPOINT ["/bin/bash", "-c"]
70
  CMD ["./sync_data.sh && ./openlist", "server"]