一个功能强大的115网盘文件自动移动工具,支持 Docker 部署,可自动监控和移动文件。
创建 docker-compose.yml 文件:
version: '3.8'
services:
move_items:
image: hazard084/115-move-items:latest
container_name: 115_move_items
restart: unless-stopped
network_mode: host # 使用宿主机网络(解决代理问题)
environment:
# 必填:115网盘的Cookie
- COOKIE=你的115网盘Cookie
# 多组路径映射(推荐)
- PATH_MAPPINGS=/待处理/下载->/已完成/视频,/临时/缓存->/归档/2024
# 排除特定后缀的文件
- EXCLUDE_EXTENSIONS=.txt,.nfo,.jpg,.png,.srt
# 可选:检查间隔(分钟),默认5分钟
- CHECK_INTERVAL=5
# 可选:最小文件大小,默认200MB
- MIN_FILE_SIZE=200MB
# 可选:日志保留天数,默认7天
- LOG_RETENTION_DAYS=7
# 可选:时区设置
- TZ=Asia/Shanghai
volumes:
# 日志目录映射
- ./logs:/app/logs
# 数据目录映射
- ./data:/app/data
启动服务:
docker-compose up -d
docker run -d \
--name 115_move_items \
--restart unless-stopped \
--network host \
-e COOKIE='你的115网盘Cookie' \
-e PATH_MAPPINGS='/待处理/下载->/已完成/视频,/临时/缓存->/归档/2024' \
-e EXCLUDE_EXTENSIONS='.txt,.nfo,.jpg,.png' \
-e CHECK_INTERVAL=5 \
-e MIN_FILE_SIZE=200MB \
-e LOG_RETENTION_DAYS=7 \
-e TZ=Asia/Shanghai \
-v $(pwd)/logs:/app/logs \
-v $(pwd)/data:/app/data \
hazard084/115-move-items:latest
| 变量名 | 必填 | 默认值 | 说明 |
|---|---|---|---|
COOKIE | ✅ | - | 115网盘的Cookie |
PATH_MAPPINGS | ⭐ | - | 多组路径映射(推荐) |
SOURCE_PATH | ⭐ | - | 源目录路径(单组) |
TARGET_PATH | ⭐ | - | 目标目录路径(单组) |
EXCLUDE_EXTENSIONS | ❌ | - | 排除的文件后缀 |
CHECK_INTERVAL | ❌ | 5 | 检查间隔(分钟) |
MIN_FILE_SIZE | ❌ | 200MB | 最小文件大小 |
LOG_RETENTION_DAYS | ❌ | 7 | 日志保留天数 |
API_TIMEOUT | ❌ | 120 | API超时(秒) |
API_RETRY_TIMES | ❌ | 3 | API重试次数 |
BARK_URL | ❌ | - | Bark通知URL |
CALLBACK_URL | ❌ | - | 文件移动回调URL |
TZ | ❌ | Asia/Shanghai | 时区 |
配置多组源目录到目标目录的映射:
environment:
# 格式: 源路径1->目标路径1,源路径2->目标路径2
- PATH_MAPPINGS=/待处理/下载->/已完成/视频,/临时/缓存->/归档/2024
排除特定后缀的文件不进行移动:
environment:
- EXCLUDE_EXTENSIONS=.txt,.nfo,.jpg,.png
在操作失败时接收 iPhone 推送通知:
environment:
- BARK_URL=https://api.day.app/你的Bark密钥
说明: 仅在 API 超时、请求失败或 Cookie 失效时发送通知,正常运行不打扰。
在有文件移动后触发外部系统刷新:
environment:
- CALLBACK_URL=http://192.168.0.106:9537/api/sync/lift_by_token?token=xxx&type=lift_sync
说明: 每轮定时任务完成后,如果有文件成功移动,则访问此URL。常用于通知Emby/Jellyfin等媒体库刷新。
F12 打开开发者工具Network(网络)标签Cookie 字段Cookie 格式示例:
UID=12345_A1B2C3D4; CID=E5F6G7H8; SEID=I9J0K1L2M3N4O5P6; KID=...
/ 开头/我的文件/视频/电影# 查看日志
docker logs -f 115_move_items
# 停止服务
docker stop 115_move_items
# 重启服务
docker restart 115_move_items
# 更新镜像
docker pull hazard084/115-move-items:latest
docker stop 115_move_items
docker rm 115_move_items
# 然后重新运行 docker run 或 docker-compose up -d
日志文件保存在映射的 logs/ 目录,按天分割:
# 查看实时日志
docker logs -f 115_move_items
# 查看历史日志文件
ls -lh logs/
cat logs/move_items_20241118.log
network_mode: host 避免网络问题如果容器启动后卡在 "正在验证Cookie..." 步骤:
原因:使用了全局代理,Docker 容器无法正确访问网络
解决方案:添加 network_mode: host 或 --network host
现象:扫描目录时卡住或频繁超时
解决方案:调整超时和重试配置
environment:
- API_TIMEOUT=180 # 增加超时时间(默认120秒)
- API_RETRY_TIMES=5 # 增加重试次数(默认3次)
说明:
程序会自动检测 Cookie 失效并提示更新:
更新步骤:
docker-compose restartMIN_FILE_SIZElinux/amd64 - x86_64 架构linux/arm64 - ARM64 架构(树莓派等)本项目仅供学习交流使用,请勿用于商业用途。
Content type
Image
Digest
sha256:8cd325982…
Size
69.8 MB
Last updated
7 months ago
docker pull hazard084/115-move-items