File size: 3,713 Bytes
894e3c9 3a18937 894e3c9 3a18937 894e3c9 3a18937 894e3c9 3a18937 894e3c9 05c09f5 894e3c9 3a18937 36cbaff 3a18937 894e3c9 3a18937 894e3c9 3a18937 894e3c9 3a18937 894e3c9 3a18937 894e3c9 3a18937 894e3c9 3a18937 894e3c9 3a18937 894e3c9 36cbaff 3a18937 |
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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# 使用最新的 Alpine Linux 作为基础镜像
FROM alpine:latest
# 设置工作目录
WORKDIR /opt/cloudreve
# 设置时区
ENV TZ=Asia/Shanghai
# 更新包列表并安装必要的软件包:wget, unzip, python3, pip, bash, tar, gzip, jq, curl, aria2, netcat-openbsd
# 清理 apk 缓存以减小镜像体积
RUN apk update && \
apk add --no-cache wget unzip python3 py3-pip bash tar gzip jq curl aria2 netcat-openbsd && \
rm -rf /var/cache/apk/*
# 下载并解压 Cloudreve 3.8.3
RUN wget -O cloudreve.tar.gz "https://github.com/cloudreve/Cloudreve/releases/download/3.8.3/cloudreve_3.8.3_linux_amd64.tar.gz" && \
tar -zxvf cloudreve.tar.gz -C /opt/cloudreve/ && \
rm cloudreve.tar.gz && \
# 确保 Cloudreve 可执行文件有执行权限
chmod +x /opt/cloudreve/cloudreve
# 创建虚拟环境 (推荐) - 保留,因为 sync_data.sh 可能需要
RUN python3 -m venv /opt/venv
ENV VIRTUAL_ENV=/opt/venv
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
# 安装 huggingface_hub Python 库 - 保留,因为 sync_data.sh 可能需要
RUN pip install --no-cache-dir huggingface_hub cryptography
# 复制同步脚本到容器中 - 保留
COPY sync_data.sh /opt/cloudreve/
# 给予同步脚本执行权限 - 保留
RUN chmod +x /opt/cloudreve/sync_data.sh
# **创建 Aria2 下载目录并设置权限**
RUN mkdir -p /opt/cloudreve/aria2_downloads && chmod -R 777 /opt/cloudreve/aria2_downloads
# **确保 /opt/cloudreve 目录及其内容具有必要的权限**
RUN chmod -R 777 /opt/cloudreve/
# 暴露 Cloudreve 使用的端口
EXPOSE 5212
# 设置启动命令
# 1. 后台启动 Aria2 (使用优化后的参数)
# 2. 前台运行 sync_data.sh 脚本 (假设它会启动 Cloudreve)
CMD aria2c --enable-rpc --rpc-listen-port=6800 --rpc-listen-all=true --rpc-allow-origin-all \
--enable-dht=true \
# --- 更新为基于 ngosang/trackerslist 推荐的 Tracker 列表 ---
--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://exodus.desync.com:6969/announce,udp://tracker.cyberia.is:6969/announce,udp://tracker.internetwarriors.net:1337/announce,udp://tracker.dler.org:6969/announce,http://tracker.openbittorrent.com:80/announce,https://opentracker.i2p.rocks:443/announce,https://tracker.tamersunion.org:443/announce,wss://tracker.openwebtorrent.com,wss://tracker.btorrent.xyz,wss://tracker.fastcast.nz" \
# -----------------------------
# --- 调整性能参数 ---
-s 64 \
# 增加每个任务的最大连接数 (原为 20)
-x 16 \
# 单服务器连接数 (保持有效值 16)
--max-overall-upload-limit=1M \
# 稍微提高上传限制 (原为 512K)
--max-upload-limit=512K \
# 单任务上传 (原为 256K)
--max-overall-download-limit=0 \
# 不限制下载
--max-download-limit=0 \
--max-concurrent-downloads=5 \
# 增加并发任务数 (原为 2)
# --bt-require-crypto=true \ # 暂时注释掉强制加密进行测试 (原为 true)
# -----------------------------
-d /opt/cloudreve/aria2_downloads \
# 下载目录
--rpc-secret=1234 \
# RPC 密钥,务必与 Cloudreve 设置一致
--console-log-level=info \
# 保持日志级别为 info
--daemon=true & \
# 后台运行 Aria2
# 运行你的同步/启动脚本
/opt/cloudreve/sync_data.sh
# 注意 RPC Secret 和备份间隔 (SYNC_INTERVAL 环境变量) - 这是你原始的注释,予以保留 |