flzta commited on
Commit
894e3c9
·
verified ·
1 Parent(s): f08c2c1

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +77 -8
Dockerfile CHANGED
@@ -1,8 +1,77 @@
1
- docker run -d -p 5212:5212 \
2
- # !!! 关键:挂载卷以持久化数据和配置 !!!
3
- -v /path/on/host/cloudreve/config:/opt/cloudreve \ # 挂载包含 conf.ini 的目录
4
- -v /path/on/host/cloudreve/data:/opt/cloudreve/data \ # 挂载数据目录 (如果使用 SQLite)
5
- -v /path/on/host/cloudreve/uploads:/opt/cloudreve/uploads \ # 挂载上传目录
6
- -v /path/on/host/cloudreve/aria2_downloads:/opt/cloudreve/aria2_downloads \ # 挂载 Aria2 下载目录
7
- --name cloudreve-container \
8
- my-cloudreve-app # 使用你构建的镜像名
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 使用最新的 Alpine Linux 作为基础镜像
2
+ FROM alpine:latest
3
+
4
+ # 设置工作目录
5
+ WORKDIR /opt/cloudreve
6
+
7
+ # 设置时区
8
+ ENV TZ=Asia/Shanghai
9
+
10
+ # 更新包列表并安装必要的软件包:wget, unzip, python3, pip, bash, tar, gzip, jq, curl, aria2, netcat-openbsd
11
+ # 清理 apk 缓存以减小镜像体积
12
+ RUN apk update && \
13
+ apk add --no-cache wget unzip python3 py3-pip bash tar gzip jq curl aria2 netcat-openbsd && \
14
+ rm -rf /var/cache/apk/*
15
+
16
+ # 下载并解压 Cloudreve 3.8.3
17
+ RUN wget -O cloudreve.tar.gz "https://github.com/cloudreve/Cloudreve/releases/download/3.8.3/cloudreve_3.8.3_linux_amd64.tar.gz" && \
18
+ tar -zxvf cloudreve.tar.gz -C /opt/cloudreve/ && \
19
+ rm cloudreve.tar.gz && \
20
+ # 确保 Cloudreve 可执行文件有执行权限
21
+ chmod +x /opt/cloudreve/cloudreve
22
+
23
+ # 创建虚拟环境 (推荐)
24
+ RUN python3 -m venv /opt/venv
25
+ ENV VIRTUAL_ENV=/opt/venv
26
+ ENV PATH="$VIRTUAL_ENV/bin:$PATH"
27
+
28
+ # 安装 huggingface_hub Python 库
29
+ # 注意:如果你的 sync_data.sh 或 Cloudreve 需要这些库,请保留
30
+ RUN pip install --no-cache-dir huggingface_hub cryptography
31
+
32
+ # 复制同步脚本到容器中
33
+ COPY sync_data.sh /opt/cloudreve/
34
+
35
+ # 给予同步脚本执行权限
36
+ RUN chmod +x /opt/cloudreve/sync_data.sh
37
+
38
+ # **创建 Aria2 下载目录并设置权限**
39
+ # 注意:777 权限过于宽松,生产环境建议使用更严格的权限管理
40
+ RUN mkdir -p /opt/cloudreve/aria2_downloads && chmod -R 777 /opt/cloudreve/aria2_downloads
41
+
42
+ # **确保 /opt/cloudreve 目录及其内容具有必要的权限**
43
+ # 注意:同样,777 权限过于宽松
44
+ RUN chmod -R 777 /opt/cloudreve/
45
+
46
+ # 暴露 Cloudreve 使用的端口
47
+ EXPOSE 5212
48
+
49
+ # 设置启动命令
50
+ # 1. 后台启动 Aria2
51
+ # 2. (可选) 运行 sync_data.sh 脚本一次
52
+ # 3. 前台启动 Cloudreve 主程序 (它会在 /opt/cloudreve 目录下查找或创建 conf.ini)
53
+ CMD aria2c --enable-rpc --rpc-listen-port=6800 --rpc-listen-all=true --rpc-allow-origin-all \
54
+ --enable-dht=true \
55
+ # --- 使用精简后的 Tracker 列表 ---
56
+ --bt-tracker="udp://tracker.opentrackr.org:1337/announce,udp://open.tracker.cl:1337/announce,udp://tracker.openbittorrent.com:6969/announce,udp://open.stealth.si:80/announce,udp://tracker.torrent.eu.org:451/announce,udp://tracker.dler.org:6969/announce,http://tracker.openbittorrent.com:80/announce,https://opentracker.i2p.rocks:443/announce,wss://tracker.openwebtorrent.com,wss://tracker.btorrent.xyz" \
57
+ # -----------------------------
58
+ # --- 调整后的参数 (可根据实际情况微调) ---
59
+ -s 50 \
60
+ -x 20 \
61
+ --max-overall-upload-limit=1M \
62
+ --max-upload-limit=512K \
63
+ --max-overall-download-limit=0 \
64
+ --max-download-limit=0 \
65
+ --max-concurrent-downloads=5 \
66
+ # --bt-require-crypto=true \ # 暂时注释掉强制加密
67
+ # -----------------------------
68
+ -d /opt/cloudreve/aria2_downloads \
69
+ --rpc-secret=1234 \
70
+ --console-log-level=info \
71
+ --daemon=true & \
72
+ # 等待 Aria2 RPC 服务启动
73
+ sleep 5 && \
74
+ # 运行一次同步脚本
75
+ /opt/cloudreve/sync_data.sh && \
76
+ # 在前台启动 Cloudreve (不带 -c 参数,它会在 WORKDIR /opt/cloudreve 中自动处理 conf.ini)
77
+ /opt/cloudreve/cloudreve