# 使用最新的 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 环境变量) - 这是你原始的注释,予以保留