datas / Dockerfile
flzta's picture
Update Dockerfile
05c09f5 verified
# 使用最新的 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 环境变量) - 这是你原始的注释,予以保留