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

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +20 -57
Dockerfile CHANGED
@@ -1,70 +1,33 @@
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 && \
55
  tar -xzf 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"]
 
1
+ FROM alpine:latest
 
2
 
3
+ RUN apk add --no-cache python3 py3-pip curl tar gzip bash jq
 
 
 
4
 
5
+ RUN adduser -D -u 1000 user
 
 
 
 
 
 
 
6
 
7
+ RUN mkdir -p /home/user/data && chown -R user:user /home/user/data
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
 
9
+ ENV HOME=/home/user \
10
+ PATH=/home/user/.local/bin:$PATH
11
+
12
+ WORKDIR $HOME/app
13
+
14
+ ENV VIRTUAL_ENV=$HOME/venv
15
+ RUN python3 -m venv $VIRTUAL_ENV
16
+ ENV PATH="$VIRTUAL_ENV/bin:$PATH"
17
+ RUN pip install --no-cache-dir requests webdavclient3
18
 
 
19
  RUN wget -q https://github.com/OpenListTeam/OpenList/releases/download/beta/openlist-linux-amd64.tar.gz && \
20
  tar -xzf openlist-linux-amd64.tar.gz && \
21
  find . -type f -name "openlist" -exec mv {} . \; && \
22
  rm -rf openlist-linux-amd64.tar.gz *linux-amd64*
23
 
24
+ COPY --chown=user . $HOME/app
25
+ COPY --chown=user sync_data.sh $HOME/app/
 
 
26
 
27
+ RUN chmod +x $HOME/app/openlist && \
28
+ chmod +x $HOME/app/sync_data.sh
29
 
30
+ RUN chown -R user:user /home/user
31
+ USER user
32
 
33
+ CMD ["/bin/bash", "-c", "$HOME/app/sync_data.sh & sleep 10 && ./openlist server"]