Download Dockerfile from flzta/data: direct link, hf CLI and curl.
- Browser
- Download file 3.45 kB
-
https://huggingface.co/spaces/flzta/data/resolve/main/Dockerfile
- Command line
-
hf download hf://spaces/flzta/data/Dockerfile
-
curl -L -o Dockerfile https://huggingface.co/spaces/flzta/data/resolve/main/Dockerfile
3.45 kB
| # 使用最新的 Alpine Linux 作为基础镜像 | |
| FROM alpine:latest | |
| # 设置工作目录 | |
| WORKDIR /opt/cloudreve | |
| # 设置时区 | |
| ENV TZ=Asia/Shanghai | |
| # 更新包列表并安装必要的软件包:wget, unzip, python3, pip, bash, tar, gzip, jq, curl, aria2 | |
| # 清理 apk 缓存以减小镜像体积 | |
| RUN apk update && \ | |
| apk add --no-cache wget unzip python3 py3-pip bash tar gzip jq curl aria2 && \ | |
| 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 | |
| # 创建虚拟环境 (推荐) | |
| RUN python3 -m venv /opt/venv | |
| ENV VIRTUAL_ENV=/opt/venv | |
| ENV PATH="$VIRTUAL_ENV/bin:$PATH" | |
| # 安装 huggingface_hub Python 库 | |
| RUN pip install --no-cache-dir huggingface_hub cryptography | |
| # 复制同步脚本到容器中 | |
| COPY sync_data.sh /opt/cloudreve/ | |
| # 给予同步脚本执行权限 | |
| RUN chmod +x /opt/cloudreve/sync_data.sh | |
| # **创建 Aria2 下载目录并设置权限** | |
| # 注意:777 权限过于宽松,但在简单场景下可以避免权限问题。生产环境建议使用更严格的权限管理。 | |
| RUN mkdir -p /opt/cloudreve/aria2_downloads && chmod -R 777 /opt/cloudreve/aria2_downloads | |
| # **确保 /opt/cloudreve 目录及其内容具有必要的权限** | |
| # Cloudreve 进程和 Aria2 可能需要写入配置文件、数据库、日志等 | |
| RUN chmod -R 777 /opt/cloudreve/ | |
| # 暴露 Cloudreve 使用的端口 | |
| EXPOSE 5212 | |
| # Aria2 RPC 端口 (如果需要从外部访问,但通常不需要) | |
| # EXPOSE 6800 | |
| # 设置启动命令 | |
| # 1. 后台启动 Aria2,使用优化后的参数 | |
| # 2. 前台运行 sync_data.sh 脚本,该脚本会处理备份/恢复逻辑,并在最后启动 Cloudreve | |
| CMD aria2c --enable-rpc --rpc-listen-port=6800 --rpc-listen-all=true --rpc-allow-origin-all \ | |
| --daemon=true --enable-dht=true \ | |
| --bt-tracker="udp://tracker.opentrackr.org:1337/announce,udp://tracker.openbittorrent.com:6969/announce,udp://tracker.torrent.eu.org:451/announce,udp://tracker.coppersurfer.tk:6969/announce,udp://tracker.dler.org:6969/announce,udp://tracker.leechers-paradise.org:6969/announce,udp://tracker.moeking.me:6969/announce" \ | |
| -s 64 \ | |
| -x 16 \ | |
| -d /opt/cloudreve/aria2_downloads \ | |
| --max-concurrent-downloads=5 \ | |
| --max-overall-download-limit=0 \ | |
| --max-download-limit=0 \ | |
| --max-overall-upload-limit=5M \ | |
| --max-upload-limit=1M \ | |
| # --- 修改日志级别为 debug --- | |
| --console-log-level=debug \ | |
| # -------------------------- | |
| --rpc-secret=112325 & \ | |
| /opt/cloudreve/sync_data.sh | |
| # 注意: --rpc-secret=YOUR_RPC_SECRET 是可选的。 | |
| # 如果你在 CMD 中添加了这个参数 (例如 --rpc-secret=mysecret), | |
| # 那么你必须在 Cloudreve 后台 -> 管理面板 -> 参数设置 -> 离线下载 -> RPC 授权令牌 中填入完全相同的密钥 (mysecret)。 | |
| # 如果你不打算使用 RPC 密钥,请从上面的 CMD 命令中移除 --rpc-secret=YOUR_RPC_SECRET 部分, | |
| # 并确保 Cloudreve 后台的 RPC 授权令牌字段是空的。 | |
| # 你可以根据需要调整 --max-overall-upload-limit 和 --max-upload-limit 的值,或者设为 0 (不限制)。 |