File size: 1,027 Bytes
502e15f
 
 
931775d
502e15f
c0450e9
502e15f
 
 
c0450e9
502e15f
 
 
 
c0450e9
502e15f
 
 
c0450e9
dd87bcc
502e15f
 
 
c0450e9
 
 
 
 
 
502e15f
a5642ad
c0450e9
502e15f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 使用官方 OpenList 作为基础镜像
FROM openlistteam/openlist:latest

USER root

# 安装基础依赖包 (Alpine 环境) 
RUN apk add --no-cache python3 py3-pip tar bash curl && \
    pip3 install --no-cache-dir "huggingface_hub[cli]" --break-system-packages

# 创建数据目录,并将所有权赋予用户 (UID 1000)
RUN mkdir -p /opt/openlist/data && \
    chown -R 1000:1000 /opt/openlist && \
    chmod -R 777 /opt/openlist

# 拷贝并配置备份恢复脚本
COPY ./restore.sh /restore.sh
RUN chmod +x /restore.sh && chown 1000:1000 /restore.sh

# 暴露 OpenList 默认端口 5244
EXPOSE 5244
ENV PORT=5244
ENV TZ=Asia/Shanghai

# 【核心修改】:显式声明用户的 HOME 目录与 Huggingface 的缓存目录
# 让 hf 命令行工具把所有的临时日志、缓存、块数据全部写入我们有权限的目录中
ENV HOME=/opt/openlist
ENV HF_HOME=/opt/openlist/.cache

# 切换回低权限用户 1000 运行
USER 1000

# 将脚本作为容器的主入口
ENTRYPOINT ["/bin/bash", "/restore.sh"]